一、Docker Compose介绍
1、Compose简介
Docker Compose是Docker官方的编排工具,可以让用户通过编写一个简单的模板文件,快递的创建和管理基于Docker容器的应用集群,负责实现对Docker容器集群进行快速编排。
我们知道使用一个Dockerfile模板文件,可以让用户很方便地定义一个单独的应用容器。然而在日常工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况,Compose恰好满足了这样的需求,它允许用户通过一个单独的docker-compose.yml模板文件(YAML格式)来定义一组相关联的应用容器为一个项目。
2、Compose两个重要概念
- 服务(service):一个应用的容器,实际上可以包含若干运行相同镜像的容器实例
- 项目(project):由一组关联的应用容器组成的一个完整业务单元,在docker-compose.yml文件中定义
二、Compose命令说明
对于Compose来说,大部分命令的对象既可以是项目本身,也可以指定为项目中的服务或者容器。
Compose命令的基本使用格式:
docker-compose [ -f=<arg>... ] [ options ] [ COMMAND ] [ ARGS... ]
命令选项如下
命令选项 | 说明 |
-f, --file FILE | 指定使用的Compose模板文件,默认为docker-compose.yml,可以多次指定 |
-p, --project-name NAME | 指定项目名称,默认将使用所在目录名称作为项目名 |
--x-networking | 使用Docker的可拔插网络后端特性 |
--x-network-driver DRIVER | 指定网络后端的驱动,默认为bridge |
--verbose | 输出更多调试信息 |
-v, --version | 打印版本并退出 |
Compose命令
命令 | 说明 |
build | 构建项目中的服务容器 |
help | 获得一个命令的帮助 |
kill | 通过发送SIGKILL信号来强制停止服务容器 |
logs | 查看服务容器的输出 |
pause | 暂停一个服务容器 |
port | 打印某个容器端口所映射的公共端口 |
ps | 列出项目中目前的所有容器 |
pull | 拉取服务依赖的镜像 |
restart | 重启项目中的服务 |
rm | 删除所有(停止状态的)服务容器 |
run | 在指定服务上执行一个命令 |
scale | 设置指定服务运行的容器个数 |
start | 启动已经存在的服务容器 |
stop | 停止已经处于运行状态的容器,但不删除它 |
unpause | 恢复处于暂停状态中的服务 |
up | 自动完成包括构建镜像、创建服务、启动服务并关联服务相关容器的一系列操作 |
migrate-to-labels | 重新创建容器,并添加label |
version | 打印版本信息 |
命令使用说明
1、build
docker-compose build [ options ] [ SERVICE... ]:构建(重新构建)项目中的服务容器
选项包括:
- --force-rm:删除构建过程中的临时容器
- --no-cache:构建镜像过程中不适用缓存(这将加长构建过程)
- --pull:始终尝试通过拉取操作来获取更新版本的镜像
2、help
获得一个命令的帮助
3、kill
docker-compose kill [ options ] [ SERVICE... ]:通过发送SIGKILL信号来强制停止服务容器
4、logs
docker-compose logs [ options ] [ SERVICE... ]:查看服务容器的输出,默认情况下docker-compose将对不同的服务输出使用不同的颜色来区分。可以通过--no-color来关闭颜色
5、pause
docker-compose pause [ SERVICE... ]:暂停一个服务容器
6、port
docker-compose port [ options ] SERVICE PRIVATE_PORT:显示某个容器端口所映射的公共端口
选项:
- --protocol=proto 指定端口协议,TCP(默认值)或者UDP
- --index=index 如果同一服务存在多个容器,指定命令对象容器的序号(默认为1)
7、ps<