docker-compose

一、什么是docker-compose

  Docker-compose是一个定义及运行多个Docker容器的工具,它自身我们可以简单的理解为就是一个二进制文件(命令),是我们可以更方便易于管理的构建基于docker的复杂应用。

使用compose的过程:

  1. 使用Dockerfile定义单个应用程序的环境,以便在任何地方进行复制。
  2. 在docker-compose.yml中定义组成该应用程序的服务,将单个应用程序组成一个整体,它们各自处在相对隔离的环境中,却可以通过端口映射来进行协同工作。
  3. 运行docker-compose up 开始撰写后并运行整个应用程序。

编排:指挥的角色地位,根据被部署的对象之间的耦合关系,以及被部署对象的环境依赖,制定部署流程中各个动作的执行顺序,这些信息都会在编排工具中以指定的格式在配置文件中定义,保证这个流程可以随时在全新环境可靠有序重现。

解决相互有依赖关系的多个容器的管理。也不是必须,可以单台,也可以多台来解决依赖。

二、docker-compose安装部署

curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

chmod  +x /usr/local/bin/docker-compose 

ln -s /usr/local/bin/docker-compose  /usr/bin/docker-compose

docker-compose  --version

三、docker-compose管理命令介绍

         1.compose具有管理应用程序整个生命周期的命令 启动 、停止、和重建服务,查看正在运行的服务状态、流式传输运行服务的日志输出,在服务上运行一次性命令

        2.常用命令 帮助信息

docker-compose build service_a 创建一个镜像名叫service_a用于通过容器发送SIGKILL信号强行停止服务
[root@localhost-]# docker-compose kill   显示service的日志信息
[root@localhost-]# docker-compose logs    暂停和恢复服务
[root@localhost~]# docker-compose pause/unpause docker-compose pause 暂停服务

[root@localhost~]# docker-compose un pause  恢复被暂停的服务用于查看服务中的端口与物理机的映射关系

docker-compose port
例如:docker-compose port nginx_web 80   查看服务中80端口映射到物理机上的那个端口用于显示当前项目下的容器
[root@localhost~]# docker-compose ps 
注意, 此命令与docker ps不同作用, 此命令会显示停止后的容器(状态为Exited) , 只针对某个项目,用于拉取服务依赖的镜像
[root@localhost~]# docker-compose pull 用于重启某个服务中的所有容器
[root@localhost~]# docker-compose restart
例如:docker-compose restart service_name#只有正在运行的服务可以使用重启命令, 停止的服务是不可以重启删除停止的服务(服务里的容器) 
[root@localhost-] #docker-compose rm -f 强制删除 -v 删除与容器相关的卷(volumes) 用于在服务中运行一个一次性的命令
[root@localhost~]# docker-composer un这个命令会新建一个容器, 它的配置和srvice的配置相同, 但两者之间还是有两点不同之处:
    1、run指定的命令会直接覆盖掉service配置中指定的命令
    2、run命令启动的容器不会创建在service配置中指定的端口, 
如果需要指定便用--service-ports指定启动/停止运行某个服务的所有容器
[root@localhost~] #docker-compose start/stop docker-compose start启动运行某个服务的所有容器
docker-compose stop停止运行某个服务的所有容器 指定某个服务启动的容器个数
[root@localhost-] #docker-compose scale
[root@localhost~] #docker-compose scale --help 
备注:docker-compose运行时是需要指service名称, 可以同时指定多个, 也可以不指定。
  不指定时默认就是对配置文件中所有的service执行命令, -f 用于指定配置文件 -p 用于指定项目名称

四、docker-compose配置文件实例

   1.创建文件夹

mkdir composetest
cd composetest/
mkdir nginx
mkdir webserver

 2.编写docker-compose.yml文件

version: "3"
services:
  nginx:
    container_name: web-nginx1
    image: nginx:latest
    restart: always
    ports:
      -  80:80
    volumes:
      - ./webserver:/webserver
      - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf



把nginx的 default.conf 拷贝到nginx文件夹xia

 配置文件简单的解释说明docker-compose的配置文件是一个.yml格式的文件

  第一部分:version:"3" 指定语法的版本
  第二部分services:定义服务nginx:服务的名称, -p 参数后接服务名称 container_name:web-nginx  容器的名称image:nginx:latest
 第三部分volumes:物理机与容器的磁盘映射关系 /webserver:/webserver  -/nginx/nginx.conf:/etc/nginx/nginx.conf

3.查看目录结构

        

4.修改nginx的 default.conf配置文件

            

5.启动容器

docker-compose up -d
docker-compose  ps

     

6.验证效果

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值