Docker Compose是一个比较简单的docker容器的编配工具,以前的名称叫Fig,由Orchard团队开发的开源Docker编配工具,在2014年被Docker公司收购,Docker Compose是使用Python语言开发的一款docker编配工具。使用Docker Compose,可以用一个yml文件定义一组要启动的容器,以及容器运行时的属性。Docker Compose称这些容器为“服务”,像这样定义:容器通过某些方法并指定一些运行时的属性来和其他容器产生交互。
1.安装Docker Compose
Docker Compose的安装可以通过Python Pip来安装 > pip install -U docker-compose
安装完毕后通过docker compose --version 来查看docker compose是否安装成功。当然也可进行离线安装,去Docker官方的离线地址下载(https://dl.bintray.com/docker-compose/master/)选择相应的版本,如果是Linux版本,执行以下两个命令即可(先将docker-compose移动到bin下,然后增加执行权限即可):
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose; chmod +x /usr/local/bin/docker-compose
2.docker-compose.yml的使用
在compose中,我们定义了一组要启动的服务,我们还定义了我们希望这些服务要启动的运行时属性,这些属性和docker run 命令需要的参数类似。将所有的属性都定义在一个YAML文件中。之后执行docker-compose up命令,compose会启动这些容器,使用指定的参数来执行,并将所有的日志输出合并在一起。
docker-compose.yml语法说明(参照):http://www.cnblogs.com/freefei/p/5311294.html点击打开链接
例如:
version: '2' services: activemq: image: activemq:v4 ports: - "61616:61616" - "8161:8161" consul: image: consul:v14 ports: - "8500:8500" nginx: image: nginx:v12 ports: - "443:443" - "8080:8080" depends_on: - consul - activemq myService: image: web:v1.1.3 command: 8080 0 172.17.0.1 ports: - "8087:8087" depends_on: - nginx volumes: - ${PWD}/logs/:/opt/web/logs/
以下是一些Docker Compose常用命令:
docker-compose up 启动docker compose中定义的服务,参数 -d 以守护进程的方式运行compos,注意服务间是交替运行的,Ctrl + c停止compose 运行
docker-compose ps 查看本地compose定义的正在运行的所有服务,类似于docker ps
docker-compose logs 查看日志,这个命令会追踪日志文件类似于docker logs -f container 或者tail -f file 一样
docker-compose stop 停止正在运行的服务,如果服务并没有停止,则可以通过docker kill 强制停止服务
docker-compose start 重启服务,与docker start 类似
docker-compose rm 删除compose 服务,类似于docker rm
docker-compose shutdown