Docker Compose

12/12/2022

# 介绍

Docker-Compose是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。

Docker-Compose诞生的原因主要是由于当我们项目需要同时部署多个服务容器以及多种环境容器时,手动去构建每个镜像并启动容器会耗费较多时间。Compose允许用户通过一个单独的docker-compose.yml模板文件(YAML格式)来定义一组相关联的应用容器为一个项目(project)。

可以简单理解用一个配置文件定义多个容器的应用,然后使用一条指令安装这个应用的所有依赖,完成构建。Docker-compose解决了容器与容器之间如何管理编排的问题。

# 安装

Docker-Compose安装可参考官网 (opens new window)进行下载和安装。具体步骤主要为三步:

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

chmod +x /usr/local/bin/docker-compose
1
2
3

当运行docker-compose --version出现版本提示的时候,表示安装成功。

image-20221212201200222

# 核心概念

Compose的核心概念可归纳为一文件和两要素

  • 一文件:docker-compose.yml
  • 两要素
    • 服务(service):具体应用容器实例,比如订单微服务、库存微服务、mysql容器、nginx容器、redis容器等。
    • 工程(project):由一组关联的应用容器组成的一个完整业务单元,在docker-compose.yml文件中定义。

# 使用流程

Compose的使用步骤主要分为三步:

  1. 编写Dockerfile定义各个微服务应用并构建出对应的镜像文件
  2. 使用docker-compose.yml定义一个完整业务单元,安排好整体应用中的各个容器服务。
  3. 执行docker-compose up命令,来启动并运行整个应用册灰姑娘徐,完成一键部署上线。

# 常用命令

  • docker-compose -h :查看帮助

  • docker-compose up :启动所有docker-compose服务

  • docker-compose up -d :启动所有docker-compose服务并后台运行

  • docker-compose down :停止并删除容器、网络、卷、镜像。

  • docker-compose exec yml里面的服务id :进入容器实例内部 docker-compose exec docker-compose.yml文件中写的服务id /bin/bash

  • docker-compose ps :展示当前docker-compose编排过的运行的所有容器

  • docker-compose top :展示当前docker-compose编排过的容器进程

  • docker-compose logs yml里面的服务id :查看容器输出日志

  • docker-compose config :检查配置

  • docker-compose config -:检查配置,有问题才有输出

  • docker-compose restart :重启服务

  • docker-compose start :启动服务

  • docker-compose stop :停止服务

# 案例:编排微服务

Last Updated: 12/16/2022, 2:02:52 PM