简介
docker容器编排工具,实现对docker多容器的控制
-
重要概念
- 服务 ( service ):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例
- 项目 ( project ):由一组关联的应用容器组成的一个完整业务单元,在 dockercompose.yml 文件中定义
-
使用步骤
- Dockerfile 定义应用的运行环境
- docker-compose.yml 定义组成应用的各服务
- docker-compose up 启动整个应用
安装与使用
- 二进制包安装安装
sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo rm /usr/local/bin/docker-compose
- pip3 安装
sudo pip3 install -U docker-compose
- 安装确认
docker-compose --version
- 编写dockerfile
https://segmentfault.com/a/1190000015849347
- 编写docker-compose.yml
# cat docker-compose.yml
version: '1'
services:
sms:
build: .
ports:
- "5000:5000"
volumes:
- .:/data/sms
depends_on:
- redis
redis:
image: redis
- 运行
docker-compose up
后记
- 上面的docker-compose.yml解读
定义了两个服务:sms, redis
sms容器通过当前路径下的Dockerfile生成
sms容器内的5000端口映射到主机的5000端口
将当前目录挂载到web容器内/data/sms
web容器依赖于redis容器
redis容器从Docker Hub获取镜像
-
其他命令
-
daemon模式启动/停止
docker-compose up -d
-
停止
docker-compose stop
-
查看
docker-compose ps
-
对容器执行命令(一次)
docker-compose run services cmd eg: docker-compose run sms env
-