19.单机编排工具Docker Compose
单机编排工具Docker Compose
当宿主机启动较多的容器时,如果都是手动操作会比较麻烦且容易出错,这个时候推荐使用docker 单机编排工具docker-compose;
docker-compise项目是Docker官方开源的项目,负责对Docker容器集群的快速编排,分别是工程(project)、服务(service)、以及容器(container)
github地址:https://github.com/docker/compose
基础环境准备
方法1:通过pip安装
安装python-pip软件包
#Ubuntu
apt update
apy install -y python-pip
#Centos
yum install epel-release
yum install -y python-pip
pip install --upgrade pip
官方二进制下载地址:https://github.com/docker/compose/release
安装docker-compose
pip install docker-compose
注:docker-compose 1.25.4最后支持python2的版本
方法2:直接从github下载安装对应版本
参看说明:https://github.com/docker/compose/releases
此方法安装版本可方便指定,推荐方法,但网络下载较慢
[root@ubuntu1804 ~]#curl -L https://github.com/docker/compose/releases/download/1.25.3/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-compose
[root@ubuntu1804 ~]#chmod +x /usr/local/bin/docker-compose
方法3:直接从包仓库安装
此方法安装的版本较旧,不推荐使用
#ubuntu安装
[root@ubuntu1804 ~]#apt -y install docker-compose
[root@ubuntu1804 ~]#docker-compose --version
docker-compose version 1.17.1, build unknown
#CentOS7安装,依赖EPEL源
[root@centos7 ~]#yum -y install docker-compose
[root@centos7 ~]#docker-compose --version
docker-compose version 1.18.0, buil 8dd22a9
查看命令格式
官方文档:https://docs.docker.com/compose/reference/
docker-compose --help
Define and run multi-container applications with Docker.
Usage:
docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
docker-compose -h|--help
#选项说明:
-f,–file FILE #指定Compose 模板文件,默认为docker-compose.yml。
-p,–project-name NAME #指定项目名称,默认将使用当前所在目录名称作为项目名。
--verbose #显示更多输出信息
--log-level LEVEL #定义日志级别 (DEBUG, INFO, WARNING, ERROR, CRITICAL)
--no-ansi #不显示ANSI 控制字符
-v, --version #显示版本
#以下为命令选项,需要在docker-compose.yml|yaml 文件所在在目录里执行
build #构建镜像
bundle #从当前docker compose 文件生成一个以<当前目录>为名称的json格式的Docker Bundle 备份文件
config -q #查看当前配置,没有错误不输出任何信息
create #创建服务,较少使用
down #停止和删除所有容器、网络、镜像和卷
#events #从容器接收实时事件,可以指定json 日志格式,较少使用
exec #进入指定容器进行操作
help #显示帮助细信息
images #显示镜像信息,较少使用
kill #强制终止运行中的容器
logs #查看容器的日志
pause #暂停服务
port #查看端口
ps #列出容器,较少使用
pull #重新拉取镜像,镜像发生变化后,需要重新拉取镜像,较少使用
push #上传镜像
restart #重启服务,较少使用
rm #删除已经停止的服务
run #一次性运行容器
scale #设置指定服务运行的容器个数
start #启动服务 ,较少使用
stop #停止服务,较少使用
top #显示容器运行状态
unpause #取消暂定
up #创建并启动容器 ,较少使用
docker compse文件格式
官方文档:https://docs.docker.com/compose/compose-file/
docker compose文件是一个yaml格式的文件,所以注意行首的缩进很严格
默认docker-compose命令会调用当前目录下的docker-compose.yml的文件,因此一般执行docker-compose命令前先进入docker-compose.yml文件所在目录
docker compose文件的格式很不同版本,版本不同,语法和格式有所不同,参看以下列表
Compose file format | Docker Engine release |
---|---|
3.7 | 18.06.0+ |
3.6 | 18.02.0+ |
3.5 | 17.12.0+ |
3.4 | 17.09.0+ |
3.3 | 17.06.0+ |
3.2 | 17.04.0+ |
3.1 | 1.13.1+ |
3.0 | 1.13.0+ |
2.4 | 17.12.0+ |
2.3 | 17.06.0+ |
2.2 | 1.13.0+ |
2.1 | 1.12.0+ |
2.0 | 1.10.0+ |
1.0 | 1.9.1.+ |