前言
Docker Compose介绍
Docker Compose是一个用来定义和运行复杂应用的Docker工具,负责实现对 Docker 容器集群的快速编排。
Docker Compose安装
下载docker-compose文件,1.16.1处可以更换版本,Docker Compose
sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
若是github下载太慢,可以更换国内下载
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
添加文件可执行权限
sudo chmod +x /usr/local/bin/docker-compose
测试
# 查看Docker Compose版本信息
docker-compose --version
Docker Compose常用命令
Usage: # 用法
docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
docker-compose -h|--help
Options: # 选项
-f, --file FILE # 指定备用撰写文件
# (默认: docker-compose.yml)
-p, --project-name NAME # 指定备用项目名称
# (default: directory name)
--verbose # 显示更多输出
--log-level LEVEL # 设置日志级别 (DEBUG, INFO, WARNING, ERROR, CRITICAL)
--no-ansi # 不打印ANSI控制字符
-v, --version # 打印版本并退出
-H, --host HOST # 要连接到的守护程序套接字
--tls # 使用TLS; implied by --tlsverify
--tlscacert CA_PATH # 仅由此CA签名的信任证书
--tlscert CLIENT_CERT_PATH # TLS证书文件的路径
--tlskey TLS_KEY_PATH # TLS密钥文件的路径
--tlsverify # 使用TLS并验证远程
--skip-hostname-check # 不要根据客户端证书中指定的名称检查守护程序的主机名
--project-directory PATH # 指定备用工作目录
# (默认值:撰写文件的路径)
--compatibility # 如果设置,Compose将尝试将v3文件中的密钥转换为其非Swarm等效密钥
Commands: # 命令
build # 生成或重建服务
bundle # 从Compose文件生成Docker捆绑包
config # 验证并查看撰写文件
create # 创建服务
down # 停止并删除容器、网络、图像和卷
events # 从容器接收实时事件
exec # 在运行的容器中执行命令
help # 获取有关命令的帮助
images # 镜像列表
kill # 杀死容器
logs # 查看容器的输出日志
pause # 暂停服务
port # 打印端口绑定的公共端口
ps # 容器列表
pull # 拉取服务镜像
push # 推送服务镜像
restart # 重启服务
rm # 删除停止的容器
run # 运行一次性命令
scale # 设置服务的容器数
start # 启动服务
stop # 停止服务
top # 显示正在运行的进程
unpause # 取消暂停服务
up # 创建和启动容器
version # 显示Docker Compose版本信息
Docker Compose基本使用
# 指定 docker-compose 脚本后台启动
docker-compose -f docker-compose-env.yml up -d
# 指定 docker-compose 脚本停止并且删除相关容器、网络、卷
docker-compose -f docker-compose-env.yml down
# 指定 docker-compose 脚本查看容器列表
docker-compose -f docker-compose-env.yml ps
# 指定 docker-compose 脚本查看指定容器日志
docker-compose -f docker-compose-env.yml logs --tail 10 -f 容器名
# 指定 docker-compose 脚本停止指定容器
docker-compose -f docker-compose-env.yml stop 容器名