Docker Compose
# 介绍
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
2
3
当运行docker-compose --version
出现版本提示的时候,表示安装成功。
# 核心概念
Compose的核心概念可归纳为一文件和两要素
。
- 一文件:
docker-compose.yml
- 两要素
- 服务(service):具体应用容器实例,比如订单微服务、库存微服务、mysql容器、nginx容器、redis容器等。
- 工程(project):由一组关联的应用容器组成的一个完整业务单元,在
docker-compose.yml
文件中定义。
# 使用流程
Compose的使用步骤主要分为三步:
- 编写Dockerfile定义各个微服务应用并构建出对应的镜像文件
- 使用
docker-compose.yml
定义一个完整业务单元,安排好整体应用中的各个容器服务。 - 执行
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 :停止服务