
相关站点
Docker Compose 介绍
Docker Compose项目来源于之前的fig项目,使用Python语言编写,是Docker官方启用的一款单机容器编排工具,与Docker Swarm、Docker Machine并称为Docker容器编排三剑客。其定义跟运行多容器的应用,可以一条命令开启多个容器,使用Docker Compose不再需要使用shell脚本来开启容器。Docker Compose通过一个配置文件来管控多个Docker容器sha256sum校验工具sha256sum校验工具,在配置文件中所有的容器通过services来定义,然后使用docker-compose命令来推进、停止、重启应用跟应用中的服务或者所有依赖服务的容器,非常合适组合使用多个容器进行开发的场景。

安装 Docker Compose
Docker Compose具体的版本号可以从 Docker Compose Releases 获取。
1
2
3
4
5
6
7
8
9
10
11

# 下载二进制文件,如果需要安装其他版本的话,修改下面命令中的版本号即可
# curl -L https://github.com/docker/compose/releases/download/1.24.0-rc1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 校验二进制文件的完整性,对比https://github.com/docker/compose/releases/tag/1.24.0-rc1页面中二进制文件真实的SHA-256sum值
# sha256sum /usr/local/bin/docker-compose
# 赋予二进制文件可执行权限
# chmod +x /usr/local/bin/docker-compose
# 查看docker-compose的版本号
# docker-compose version
安装 Docker Compose 的命令手动补全工具
1
2
3
4
5
6
7

# 安装bash命令自动补全软件包
# yum install bash-completion
# 下载docker-compose命令自动补全工具的二进制文件,这里的版本号必须和上面docker-compose的版本号一致
# curl -L https://raw.githubusercontent.com/docker/compose/1.24.0-rc1/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose
# 注意:docker-compose命令自动补全功能在重新登录后才会生效
Docker Compose 配置文件的编写实例
docker-compose.yml 配置文件的内容如下,主要声明了容器zookeeper与dubbo-admin,其中通过自定义网络(网桥)来指定容器的IP地址(静态IP)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
version: "3.5"
services:
zookeeper:
image: clay/zookeeper-server:3.4.13
container_name: dubbo-zookeeper
ports:
- 2181:2181
networks:
distributed-network:
ipv4_address: 172.171.0.2
volumes:
- '/container/zookeeper/log:/usr/local/zookeeper-3.4.13/log'
- '/container/zookeeper/data:/usr/local/zookeeper-3.4.13/data'
dubbo-admin:
image: clay/dubbo-admin:0.1
container_name: dubbo-admin
depends_on:
- zookeeper
networks:
distributed-network:
ipv4_address: 172.171.0.3
ports:
- 8083:8080
networks:
distributed-network:
name: distributed-network
driver: bridge
ipam:
config:
- subnet: 172.171.0.0/24
Docker Compose 覆盖镜像中的CMD指令
1
2
3
4
5
6
7
8
9
10
11
12
13
version: "3.5"
services:
redis:
image: redis:5.0.4-stretch
container_name: redis-5.0.4
privileged: false
ports:
- 6379:6379
volumes:
- '/container/redis/data:/data'
- '/container/redis/redis.conf:/usr/local/etc/redis/redis.conf'
command: redis-server /usr/local/etc/redis/redis.conf
本文作者: Clay
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-134653-1.html
另一舰打开火控
但诺列加虽是毒枭却很爱国
他马云搞互联网也可能的确不需要行贿