帅帅的平少 发表于 2017-3-16 15:10:18

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]
查看完整版本: docker-compose