Docker-Compose简介
Docker-Compose 项目是 Docker 官方的开源项目,使用 Python 编写而成,负责实现对 Docker 容器集群的快速编排。Docker-Compose 的工程配置文件名是默认为 docker-compose.yml
的,在整个文件中,我们可以通过环境变量COMPOSE_FILE
或者-f
参数来对配置进行定义。
Docker-Compose基本命令
Docker-Compose版本:1.25.5
Usage:
docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
docker-compose -h|--help
Options:
-f, --file FILE 指定一个使用的compose文件(默认:docker-compose.yml)
-p, --project-name NAME 指定一个项目名称(默认:当前文件夹名称)
--verbose 显示更多输出
--log-level LEVEL 设置日志级别 (DEBUG, INFO, WARNING, ERROR, CRITICAL)
--no-ansi 不打印ANSI控制字符
-v, --version 打印版本并推出
-H, --host HOST 要连接到的守护进程
--tls 使用 TLS; 包含 --tlsverify
--tlscacert CA_PATH 仅由此CA签署的信任证书
--tlscert CLIENT_CERT_PATH TLS证书文件的路径
--tlskey TLS_KEY_PATH TLS密钥文件的路径
--tlsverify 使用TLS并验证远程
--skip-hostname-check 不根据客户端证书中指定的名称检查守护程序的主机名
--project-directory PATH 指定备用工作目录(默认:当前Compose文件路径)
--compatibility 如果设置,Compose将尝试将v3文件中的密钥转换为它们的非Swarm等价密钥
--env-file PATH 指定环境文件路径
Commands:
build 构建或者重新构建服务
config 验证和查看compose文件
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版本信息
1.docker-compose build
docker-compose build [options] [--build-arg key=val...] [SERVICE...]
Options:
--build-arg key=val 为服务设置生成时变量。
--compress 使用gzip压缩构建上下文。
--force-rm Always remove intermediate containers。
-m, --memory MEM 始终移除中间容器。
--no-cache 构建镜像时不使用缓存。
--no-rm 镜像构建成功后不删除中间容器。
--parallel 并行构建景象。
--progress string 设置进度输出类型 (auto, plain, tty)。
--pull 总是尝试拉取最新版本的镜像。
-q, --quiet 不在STDOUT打印任何东西
服务容器一旦构建后,将会带上一个标记名。可以随时在项目目录下运行docker-compose build来重新构建服务。
2.docker-compose config
docker-compose config [options]
options:
--resolve-image-digests 将镜像标记为摘要。
--no-interpolate 不插入环境变量。
-q, --quiet 只验证配置,不输出。当配置正确,不输出任何内容,当配置文件错误,输出错误信息。
--services 打印服务名,一行一个。
--volumes 打印数据卷名,一行一个。
--hash="*" 打印服务配置hash,一行一个。
为指定服务的列表设置“service1,service2”,或使用通配符显示所有服务
3.docker-compose create
docker-compose create [options] [SERVICE...]
Options:
--force-recreate 即使容器的配置和镜像没有改变,也要重新创建容器。不兼容 --no-recreate.
--no-recreate 如果容器存在,不重新创建。不兼容 --force-recreate。
--no-build 不构建镜像,即使缺失。
--build 创建容器前,构建镜像。
4.docker-compose down
docker-compose down [options]
Options:
--rmi type R删除镜像,类型必须是:
'all': 删除compose文件中定义的所有镜像;
'local': 删除镜像名为空的镜像。
-v, --volumes 删除已经在compose文件中定义的和匿名的附在容器上的数据卷
--remove-orphans 删除服务中没有在compose中定义的容器
-t, --timeout TIMEOUT 指定关闭超时时间(默认:10s)
docker-compose down 停用移除所有容器以及网络相关–最常用的格式
5.docker-compose events
docker-compose events [options] [SERVICE...]
Options:
--json 将事件输出为json对象流
6.docker-compose exec
docker-compose exec [options] [-e KEY=VAL...] SERVICE COMMAND [ARGS...]
Options:
-d, --detach 分离模式:在后台运行命令。
--privileged 授予进程扩展权限。
-u, --user USER 指定用户身份运行命令。
-T 禁用pseudo-tty分配. 默认情况下 `docker-compose exec`分配TTY。
--index=index 如果有多个服务实例,则指定容器索引[默认: 1]。
-e, --env KEY=VAL 设置环境变量 (可多次使用,不支持 API < 1.25)
-w, --workdir DIR 此命令的工作目录路径
7.docker-compose help
docker-compose help [COMMAND]
docker-compose help build 查看build指令的帮助
8.docker-compose images
docker-compose images [options] [SERVICE...]
Options:
-q, --quiet 只显示镜像ID
docker-compose images 查看当前yml中所有容器镜像信息
9.docker-compose kill
docker-compose kill [options] [SERVICE...]
Options:
-s SIGNAL 向容器发送信号. 默认是SIGKILL。
docker-compose kill -s SIGINT 通过发送 SIGKILL 信号来强制停止服务容器,支持通过参数来指定发送的信号。
10.docker-compose logs
docker-compose logs [options] [SERVICE...]
Options:
--no-color 单色输出。
-f, --follow 实时显示日志输出。
-t, --timestamps 显示时间戳。
--tail="all" 从每个容器的日志结尾l列出显示。
11.docker-compose pause
docker-compose pause [SERVICE...]
docker-compose pause nginx 暂停yml中定义nginx服务。
12.docker-compose port
docker-compose port [options] SERVICE PRIVATE_PORT
Options:
--protocol=proto tcp或udp [默认: tcp]。
--index=index 如果有多个容器,则指定容器索引 [默认: 1]。
13.docker-compose ps
docker-compose ps [options] [SERVICE...]
Options:
-q, --quiet 只显示ID
--services 只显示服务名
--filter KEY=VAL 按属性筛选服务
-a, --all 显示所有已停止的容器 (包括由run命令创建的容器)
14.docker-compose pull
docker-compose pull [options] [SERVICE...]
Options:
--ignore-pull-failures 忽略拉取镜像过程中的错误。
--parallel 多个镜像同时拉取。
--no-parallel 不允许多个镜像同事拉取。
-q, --quiet 拉取镜像不打印进度信息。
--include-deps 同时拉取声明为依赖项的服务。
15.docker-compose push
docker-compose push [options] [SERVICE...]
Options:
--ignore-push-failures 忽略推送过程中的错误。
16.docker-compose restart
docker-compose restart [options] [SERVICE...]
Options:
-t, --timeout TIMEOUT 指定超时关闭时间(默认:10s)。
17.docker-compose rm
docker-compose rm [options] [SERVICE...]
Options:
-f, --force 不要求确认删除(强制删除)。
-s, --stop 如果有必要,在删除之前先停止容器。
-v 删除添加到容器的所有匿名卷。
-a, --all 已弃用,无效。
18.docker-compose run
docker-compose run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] [-l KEY=VALUE...] SERVICE [COMMAND] [ARGS...]
Options:
-d, --detach 分离模式:在后台运行打印新的容器名称。
--name NAME 给容器指定名称。
--entrypoint CMD 覆盖镜像的入口点。
-e KEY=VAL 设置环境变量 (可多次使用)。
-l, --label KEY=VAL 添加或覆盖标签 (可多次使用)。
-u, --user="" 以指定的用户名或uid运行。
--no-deps 不启动链接服务。
--rm 运行后移除容器,在分离模式下忽略。
-p, --publish=[] 将容器的端口映射到宿主机。
--service-ports 在启用服务端口并映射到主机的情况下运行命令。
--use-aliases 在容器连接到的网络中使用服务的网络别名。
-v, --volume=[] 绑定数据卷 (默认 [])
-T 禁用 pseudo-tty 分配,默认情况下 `docker-compose run` 分配TTY.
-w, --workdir="" 容器内的工作目录
19.docker-compose scale
docker-compose scale [options] [SERVICE=NUM...]
Options:
-t, --timeout TIMEOUT 指定超时关闭时间(默认:10s)
20.docker-compose start
docker-compose start [SERVICE...]
docker-compose start nginx 启动yml定义的nginx服务。
21.docker-compose stop
docker-compose stop [options] [SERVICE...]
Options:
-t, --timeout TIMEOUT 指定超时关闭时间(默认:10s)
22.docker-compose top
docker-compose top [SERVICE...]
docker-compose top nginx 展示nginx容器中正在运行的进程
23.docker-compose unpause
docker-compose unpause [SERVICE...]
docker-compose unpause nginx 恢复暂停的nginx容器
24.docker-compose up
docker-compose up [options] [--scale SERVICE=NUM...] [SERVICE...]
Options:
-d, --detach 分离模式:在后台运行并打印容器名称,不兼容 --abort-on-container-exit。
--no-color 单色输出日志。
--quiet-pull 拉取不打印进度信息。
--no-deps 不启动链接服务。
--force-recreate 即使容器的配置和镜像没有改变,也要重新创建容器。
--always-recreate-deps 重新创建依赖容器,不兼容 --no-recreate。
--no-recreate 如果容器存在,不重新创建,不兼容 --force-recreate and -V.
--no-build 即使镜像丢失,也不重新构建。
--no-start 创建服务不启动。
--build 在启动容器前构建容器。
--abort-on-container-exit 如果有容器停止,则停止所有容器,不兼容 -d。
--attach-dependencies 附加到从属容器。
-t, --timeout TIMEOUT 在附加容器运行时,指定超时关闭时间(默认:10s)。
-V, --renew-anon-volumes 重新创建匿名卷,而不是从以前的容器中检索数据。
--remove-orphans 删除未在compose文件中定义的服务的容器。
--exit-code-from SERVICE 返回所选容器的退出代码,说明 --abort-on-container-exit。
--scale SERVICE=NUM 设置NUM个服务实例,覆盖compose文件中原先的scale配置。
25.docker-compose version
docker-compose version [--short]
Options:
--short 只显示Compose的版本号。