Docker Compose的安装,运行及docker-compose.yml 文件
Docker Compose(用户在集群中部署分布式应用)
Docker Compose
是一种编排服务,基于pyhton语言实现,
是一个用于在 Docker 上定义并运行
复杂应用的工具
,可以让用户
在集群中部署分布式应用。
用户可以很容易地用一个配置文件定义一个多容器的应用,
然后使用一条指令安装这个应用的所有依赖,完成构建。
解决了容器与容器之间如何管理编排的问题。
Docker Compose 中有两个重要的概念:
服务 (service)
:一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
项目 (project)
:由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义。
可以类比之前的ansible及saltstack,都是为了更方便集群式的部署分布式应用
Docker Compose 常用命令
Build | 构建或重新构建服务 |
---|---|
kill | 强制停止服务容器。 |
logs | 查看服务的输出。 |
port | 打印绑定的公共端口。 |
ps | 列出所有容器。 |
pull | :拉取服务所需镜像。 |
rm | :删除停止的服务容器。 |
up | :构建并启动容器。 |
Docker Compose实践(创建容器haproxy,nginx)
1. docker compose安装
将脚本下载,阿里云的下载速度较快,推荐适用
https://mirrors.aliyun.com/docker-toolbox/linux/compose/1.21.2/
把脚本放在/usr/local/bin/下.名字为docker-compose ,加执行权限 ,docker-compose命令就有了
2.docker-compose.yml
docker-compose.yml 属性
Image | 指定为镜像名称或镜像 ID,如果镜像在本地不存在,Compose 将会尝试拉取这个镜像。 |
---|---|
Build | :指定 Dockerfile 所在文件夹的路径。 Compose 将会利用它自动构建这个镜像,然后使用这个镜像。 |
Command | :覆盖容器启动后默认执行的命令。 |
Links | :链接到其它服务中的容器。 |
Ports | :端口映射。 |
Expose | ::暴露端口信息 |
Volumes | :卷挂载路径设置 |
更多属性查阅
https://docs.docker.com/compose/compose-file/
文件名默认是docker-compose.yml 如果名字不是默认,则加-f参数,指定文件
docker network create mynet
创建docker-compose.yml文件:
version: "3.9"
services:
web1:
image: nginx
networks:
- mynet
volumes:
- ./web1:/usr/share/nginx/html ####/usr/share/nginx/html : nginx的测试页 ,
web2:
image: nginx
networks:
- mynet
volumes:
- ./web2:/usr/share/nginx/html
haproxy:
image: haproxy
networks:
- mynet
ports:
- "80:80"
volumes:
- ./haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg
networks:
mynet:
在主机中下载haproxy ,nginx镜像
3.运行docker-compose:
docker-compose命令必须在项目下运行
docker-compose up 创建并启动容器
更多推荐
所有评论(0)