docker-compose安装与用法

一.概况

Docker 有三个主要的作用:Build, Ship和Run。使用docker compose我们可以在Run的层面解决很多实际问题,如:通过创建compose(基于YUML语法)文件,在这个文件上面描述应用的架构,如使用什么镜像、数据卷、网络、绑定服务端口等等,然后再用一条命令就可以管理所有的服务(如启动、停止、重启、日志监控等等)。 

docker-compose只会为每个镜像维护一个实例,每次运行docker-compose up的时候,compose会查找之前的容器,把旧容器的volume-data拷贝到容器中。除非手动用docker rm命令删除容器,否则CONTAINER ID不会发生改变。
这和docker run [images name]不一样,这个命令每次运行会新生成一个镜像的实例,即新容器,它们对应的CONTAINER ID也各不相同。

二.安装docker

1.确保linux系统满足docker要求( 64-bit version of CentOS 7.3,貌似内核也需要3.x以上的可以通过uname -a查看)

2.升级/安装 yum-utils  sudo yum install -y yum-util

3.设置仓库$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4.安装docker sudo yum -y install docker-ce

5.启动docker sudo systemctl start docker

6.测试是否安装成功 sudo docker run hello-world

7.开机启动docker sudo chkconfig docker on

8.配置Docker中国区官方镜像

使用vi修改 /etc/docker/daemon.json 文件并添加上"registry-mirrors": ["https://registry.docker-cn.com"],如下

   "registry-mirrors": ["https://registry.docker-cn.com"]
}

systemctl restart docker

参考:https://docs.docker.com/install/linux/docker-ce/centos/#set-up-the-repository

三.安装docker-compose

1.curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

  注:docker-compose其它版本参考 https://github.com/docker/compose/releases

2.chmod +x /usr/local/bin/docker-compose
3.检查是否安装成功 docker-compose version

四.应用例子

1.使用docker-compose构建三个nginx实例,建立nginx-docker文件夹,

2.建立volumes文件,用于映射docker实例中的文件

3.建立docker-compose.yml文件,内容如下

version:  '2'
services:
   app1:
     image: nginx
     ports:
       "11001:80"
     networks:
       "netName1"
     volumes:
       "./volumes/nginx_node1/conf.d/:/etc/nginx/conf.d/"
       "./volumes/nginx_node1/web/:/usr/share/nginx/"
   app2:
     image: nginx
     ports:
       "11002:80"
     networks:
       "netName1"
     volumes:
       "./volumes/nginx_node2/conf.d/:/etc/nginx/conf.d/"
       "./volumes/nginx_node2/web/:/usr/share/nginx/html"
   app3:
     image: nginx
     ports:
       "11003:80"
     networks:
       "netName2"
     volumes:
       "./volumes/nginx_node3/conf.d/:/etc/nginx/conf.d/"
       "./volumes/nginx_node3/web/:/usr/share/nginx/html"
networks:
   netName1:
     driver: bridge
   netName2:
     driver: bridge

4.构建实际, -d代表在后台运行 docker-compose up -d

5.查看实例状态 docker-compose ps

6.其它命令

docker-compose restart #重启所有容器

docker-compose restart app1  #重启app1

docker-compose stop #停止所有容器

docker-compose stop app1  #停止app1

docker-compose exec app1 bash  #进入容器app1

五.docker-compose yml配置文件详解

参考 : https://www.jianshu.com/p/2217cfed29d7

六.docker-compose命令说明

参考 : http://wiki.jikexueyuan.com/project/docker-technology-and-combat/commands.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值