docker-compose
一、安装方法一:curl安装
# curl -L "https://github.com/docker/compose/releases/download/1.9.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose# docker-compose versiondocker-compose version 1.9.0, build 2585387docker-py version: 1.10.6CPython version: 2.7.9OpenSSL version: OpenSSL 1.0.1t3 May 2016
方法二:可以像python一样安装
pip install -U docker-compose
二、使用
1、首先先创建一个文件夹beck-docker,并在里面新建docker-compose.yml文件,然后使用version指定一下compose使用的版本号。
docker-compose.yml 内容:
# more docker-compose.yml version: '2'services:App1: image: nginx ports: - "8080:80" networks: - "netName1" volumes: - /opt/conf/:/mntApp2: image: nginx ports: - "8081:80" networks: - "netName1" volumes: - /opt/conf/:/mntApp3: image: nginx ports: - "8082:80" networks: - "netName2"
volumes: - ./app/web/:/usr/share/nginx/htmlnetworks:netName1: driver: bridgenetName2: driver: bridge
2、运行(运行一定要在docker-compose.yml所在目录下执行)
# docker-compose upCreating network "compose_netName1" with driver "bridge"Creating network "compose_netName2" with driver "bridge"Creating volume "compose_vol1" with local driverCreating compose_App2_1Creating compose_App1_1Creating compose_App3_1
后台运行:
在后台运行:# docker-compose up -d
3、查看容器状态:
# docker-compose ps Name Command State Ports -----------------------------------------------------------------------------compose_App1_1 nginx -g daemon off; Up 443/tcp, 0.0.0.0:8080->80/tcp compose_App2_1 nginx -g daemon off; Up 443/tcp, 0.0.0.0:8081->80/tcp compose_App3_1 nginx -g daemon off; Up 443/tcp, 0.0.0.0:8082->80/tcp
4、其它常用命令:
# docker-compose restart #重启所有容器# docker-compose restart App1#重启App1# docker-compose stop #停止所有容器# docker-compose stop App1#停止App1
# docker-compose logs -f #查看日志
5、验证网络隔离:
# docker-compose exec App1 bashroot@dd01fa7315ae:/# ping App2PING App2 (172.18.0.3): 56 data bytes64 bytes from 172.18.0.3: icmp_seq=0 ttl=64 time=0.059 ms64 bytes from 172.18.0.3: icmp_seq=1 ttl=64 time=0.108 ms64 bytes from 172.18.0.3: icmp_seq=2 ttl=64 time=0.062 ms64 bytes from 172.18.0.3: icmp_seq=3 ttl=64 time=0.062 ms
或者:
# docker-compose exec App3 bashroot@595f744e8634:/# ping App1PING App1 (172.31.213.13): 56 data bytes....#App3 to App1失败root@595f744e8634:/# ping App2PING App2 (172.31.213.13): 56 data bytes....#App3 to App2失败
6、验证共享卷:
a. 在host /opt/conf/ 目录下新建nginx.conf 文件
# pwd/opt/conf# touch nginx.conf
b.登录到App1 和App2查看
# docker-compose exec App1 bashroot@49d702fc8606:/# cd /mmt root@49d702fc8606:/mnt# lsnginx.conf#成功挂载# docker-compose exec App2 bashroot@1d161428d4dd:/# cd /mntroot@1d161428d4dd:/mnt# lsnginx.conf#成功挂载
页:
[1]