docker-compose2.0文档
docker-compose2.0以下文档
安装
参考官网文档
快速上手
前台运行 up每次都会加载docker-compose.yml
后台运行
后台运行-使用自定义文件名
1
   | docker-compose -f server.yml up -d 
   | 
 
停止服务
停止服务后启动服务
重启服务
指令(v1.29.2)
使用 Docker 定义和运行多容器应用程序。
用法
1 2
   | docker-compose [-f <arg>...] [--profile <name>...] [options] [--] [COMMAND] [ARGS...] docker-compose -h|--help
   | 
 
选项
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
   | -f, --file FILE             指定备用`Compose file` (默认: docker-compose.yml) -p, --project-name NAME     指定备用项目名称 (默认:目录名) --profile NAME              指定要启用的配置文件 -c, --context NAME          指定上下文名称 --verbose                   显示更多输出 --log-level LEVEL           设置日志级别(DEBUG、INFO、WARNING、ERROR、CRITICAL) --ansi (never|always|auto)  控制何时打印 ANSI 控制字符 --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 file`的路径 ) --compatibility             如果设置,`Compose`将尝试将`v3`文件中的键转换为它们的非`Swarm`等效项 (已弃用) --env-file PATH             指定备用环境文件
   | 
 
命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
   | 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            显示版本信息并退出
   | 
 
build 构建或重建服务
构建或重建服务。
服务构建一次,然后标记为“project_service”,例如 composetest_db。 如果你改变了一个服务的 Dockerfile 或者它的构建目录的内容,你可以运行 docker-compose build 来重建它。
1 2 3 4 5 6 7 8 9 10 11 12
   | 用法: build [options] [--build-arg key=val...] [--] [SERVICE...] 选项:     --build-arg key=val     为服务设置构建时变量。     --compress              使用 gzip 压缩构建上下文。     --force-rm              始终移除中间容器。     -m, --memory MEM        为构建容器设置内存限制。     --no-cache              构建镜像时不要使用缓存。     --no-rm                 成功构建后不要移除中间容器。     --parallel              并行构建镜像。     --progress string       设置进度输出类型(auto、plain、tty)。     --pull                  始终尝试拉取更新版本的映像。     -q, --quiet             不要将任何内容打印到 STDOUT
   | 
 
config 验证和查看 Compose file
验证并查看 Compose 文件。
1 2 3 4 5 6 7 8 9 10
   | 用法: config [options] 选项:     --resolve-image-digests  将镜像标签固定到摘要。     --no-interpolate         不要插入环境变量。     -q, --quiet              仅验证配置,不打印任何内容。     --profiles               打印配置文件名称,每行一个。     --services               打印服务名称,每行一个。     --volumes                打印卷名,每行一个。     --hash="*"               打印服务配置哈希,每行一个。                                为指定服务列表设置“service1,service2”或使用通配符显示所有服务。
   | 
 
create 创建服务
为服务创建容器。
此命令已弃用。 将 up 命令与 --no-start 一起使用。
1 2 3 4 5 6
   | 用法: create [options] [SERVICE...] 选项:     --force-recreate       即使容器的配置和映像没有更改,也要重新创建容器。 与 --no-recreate 不兼容。     --no-recreate          如果容器已经存在,请不要重新创建它们。 与 --force-recreate 不兼容。     --no-build             不要构建镜像,即使它丢失了。     --build                在创建容器之前构建镜像。
   | 
 
down 停止并移除资源
停止容器并删除容器、网络、卷和映像
由up创建。
默认情况下,唯一删除的内容是:
- Compose 文件中定义的服务容器
 
- 在 Compose 文件的“networks”部分定义的网络
 
- 默认网络(如果使用)
 
定义为“外部”的网络和卷永远不会被删除。
1 2 3 4 5 6 7 8 9
   | 用法: down [options] 选项:     --rmi type              删除镜像。 类型必须是以下之一:                               'all':删除任何服务使用的所有镜像。                               'local':仅删除没有                               由“镜像”字段设置的自定义标签。     -v, --volumes           删除在 Compose 文件的“volumes”部分声明的命名卷和附加到容器的匿名卷。     --remove-orphans        移除未在 Compose 文件中定义的服务的容器     -t, --timeout TIMEOUT   以秒为单位指定关闭超时。 (默认值:10)
   | 
 
events 从容器接收实时事件
从容器接收实时事件。
1 2 3
   | 用法: events [options] [--] [SERVICE...] 选项:     --json      将事件输出为 json 对象流
   | 
 
exec 在正在运行的容器中执行命令
在正在运行的容器中执行命令
1 2 3 4 5 6 7 8 9
   | 用法: exec [options] [-e KEY=VAL...] [--] SERVICE COMMAND [ARGS...] 选项:     -d, --detach      分离模式:在后台运行命令。     --privileged      为进程提供扩展权限。     -u, --user USER   以该用户身份运行命令。     -T                禁用伪 tty 分配。 默认情况下,`docker-compose exec` 分配一个 TTY。     --index=index     容器的索引,如果有多个服务实例[默认值:1]     -e, --env KEY=VAL 设置环境变量(可多次使用,API < 1.25不支持)     -w, --workdir DIR 此命令的 workdir 目录的路径。
   | 
 
help 获取命令帮助
获取有关命令的帮助。
images 列出镜像
列出创建的容器使用的图像。
1 2 3
   | Usage: images [options] [--] [SERVICE...] Options:     -q, --quiet  仅显示 ID
   | 
 
kill 杀死容器
强制停止服务容器。
1 2 3 4
   | Usage: kill [options] [--] [SERVICE...]
  Options:     -s SIGNAL         SIGNAL 发送到容器。 默认信号是 SIGKILL。
   | 
 
logs 查看容器的输出
查看容器的输出。
1 2 3 4 5 6 7
   | Usage: logs [options] [--] [SERVICE...] Options:     --no-color              产生单色输出。     -f, --follow            关注日志输出。     -t, --timestamps        显示时间戳。     --tail="all"            从每个容器的日志末尾开始显示的行数。     --no-log-prefix         不要在日志中打印前缀。
   | 
 
pause 暂停服务
暂停服务。
1
   | Usage: pause [SERVICE...]
   | 
 
port 打印端口绑定的公共端口
打印端口绑定的公共端口。
1 2 3 4
   | Usage: port [options] [--] SERVICE PRIVATE_PORT Options:     --protocol=proto  tcp or udp [default: tcp]     --index=index     如果有多个服务实例,则容器的索引 [默认值:1]
   | 
 
ps 列出容器
列出容器。
1 2 3 4 5 6
   | Usage: ps [options] [--] [SERVICE...] Options:     -q, --quiet          仅显示 ID     --services           显示服务     --filter KEY=VAL     按属性过滤服务     -a, --all            显示所有停止的容器(包括那些由 run 命令创建的)
   | 
 
pull 拉取服务镜像
为 Compose 文件中定义的服务拉取镜像,但不启动容器。
1 2 3 4 5 6 7
   | Usage: pull [options] [--] [SERVICE...] Options:     --ignore-pull-failures  拉出它可以拉出的内容并忽略拉取失败的图像。     --parallel              已弃用,并行拉取多个图像(默认启用)。     --no-parallel           禁用并行拉动。     -q, --quiet             拉取不打印进度信息     --include-deps          同时拉取声明为依赖项的服务
   | 
 
push 推送服务镜像
推送服务的图像。
1 2 3
   | Usage: push [options] [--] [SERVICE...] Options:     --ignore-push-failures  推送它可以推送的内容并忽略推送失败的图像。
   | 
 
restart 重启服务
重新启动正在运行的容器。
1 2 3
   | Usage: restart [options] [--] [SERVICE...] Options:   -t, --timeout TIMEOUT      以秒为单位指定关闭超时。(默认值:10)
   | 
 
rm 移除停止的容器
删除停止的服务容器。
默认情况下,不会删除附加到容器的匿名卷。 你可以用 -v 覆盖它。 要列出所有卷,请使用 docker volume ls。
任何不在卷中的数据都将丢失。
1 2 3 4 5 6
   | Usage: rm [options] [--] [SERVICE...] Options:     -f, --force   不要求确认删除     -s, --stop    如果需要,在删除之前停止容器     -v            删除任何附加到容器的匿名卷     -a, --all     已弃用 - 无效。
   | 
 
run 运行一次性命令
在服务上运行一次性命令。
例如:docker-compose 运行 web python manage.py shell
默认情况下,链接服务将被启动,除非它们已经运行。 如果您不想启动链接服务,请使用docker-compose run --no-deps SERVICE COMMAND [ARGS...]。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
   | Usage:     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                    禁用伪 tty 分配。 默认情况下,`docker-compose run` 分配一个 TTY。     -w, --workdir=""      容器内的工作目录
   | 
 
scale 设置服务的容器数量
设置为服务运行的容器数量。
数字以 service=num 的形式指定为参数。
例如:docker-compose scale web=2 worker=3
此命令已弃用。 使用带有 --scale 标志的 up 命令。
1 2 3
   | Usage: scale [options] [SERVICE=NUM...] Options:   -t, --timeout TIMEOUT      以秒为单位指定关闭超时。(默认值:10)
   | 
 
start 启动服务
启动现有容器。
1
   | Usage: start [SERVICE...]
   | 
 
stop 停止服务
停止运行容器而不删除它们。
它们可以使用 docker-compose start 再次启动。
1 2 3
   | Usage: stop [options] [--] [SERVICE...] Options:   -t, --timeout TIMEOUT      以秒为单位指定关闭超时。(默认值:10)
   | 
 
top 显示正在运行的进程
显示正在运行的进程
unpause 取消暂停服务
取消暂停服务。
1
   | Usage: unpause [SERVICE...]
   | 
 
up 创建和启动容器
为服务构建、(重新)创建、启动和附加到容器。
除非它们已经在运行,否则此命令还会启动任何链接的服务。
docker-compose up 命令聚合每个容器的输出。 什么时候命令退出,所有容器都停止。 运行docker-compose up -d在后台启动容器并让它们运行。
如果服务存在现有容器,并且在创建容器后更改了服务的配置或映像,则 docker-compose up 会通过停止并重新创建容器(保留已安装的卷)来获取更改。 要防止 Compose 获取更改,请使用 --no-recreate 标志。
如果要强制 Compose 停止并重新创建所有容器,请使用--force-recreate 标志。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
   | Usage: 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 和 -V 不兼容。     --no-build                 不要构建镜像,即使它丢失了。     --no-start                 创建服务后不启动服务。     --build                    在启动容器之前构建镜像。     --abort-on-container-exit  停止所有容器,如果有任何容器停了下来。与 -d 不兼容。     --attach-dependencies      附加到依赖容器。     -t, --timeout TIMEOUT      在容器中使用此超时时间(以秒为单位)连接或容器时关闭已经运行。 (默认值:10)     -V, --renew-anon-volumes   重新创建匿名卷而不是检索来自先前容器的数据。     --remove-orphans           删除未定义服务的容器在撰写文件中。     --exit-code-from SERVICE   返回所选服务的退出代码容器。暗示 --abort-on-container-exit。     --scale SERVICE=NUM        将 SERVICE 扩展到 NUM 个实例。覆盖 Compose 文件中的 `scale` 设置(如果存在)。     --no-log-prefix            不要在日志中打印前缀。
   | 
 
version 显示版本信息并退出
显示版本信息并退出。
1 2 3
   | Usage: version [--short] Options:     --short     仅显示 Compose 的版本号。
   |