docker compose up
描述
构建 (build)、(重新)创建 (re-create)、启动 (start) 并 附加 (attach) 服务对应的容器。
如果某些服务还没有运行,它也会启动与之关联 (linked) 的服务。
docker compose up会聚合 (aggregate) 各个容器的输出,就像使用docker compose logs --follow。命令退出时(如果不是后台模式,未使用
--detach),所有容器都会停止。如果使用
--detach(或-d),容器将在后台运行 (detached 模式),命令结束后它们仍然保持运行。如果某个服务已经有对应的容器,并且在创建之后服务的配置或镜像 (image) 改变了,
docker compose up会停止并重新创建这些容器。但它会保留挂载 (mount) 的卷 (volumes)。如果你不想让 Compose 重新创建已经存在的容器,可以使用
--no-recreate。如果你想 强制 停止并重新创建所有容器(即使配置或镜像没有变更),可以使用
--force-recreate。如果执行过程中出现错误,命令会返回退出码 (exit code)
1。如果使用
SIGINT(例如 Ctrl + C) 或SIGTERM中断进程,所有容器将停止,并且退出码为0。
选项
下面是 docker compose up 支持的主要命令行选项及其含义 (根据文档整理):
--abort-on-container-exit
—
如果 任何 容器停止 (exit),则停止所有容器。这个选项与 -d (detach) 不兼容。
--abort-on-container-failure
—
如果有容器 失败退出(退出码非零),就停止所有容器。与 -d 冲突。
--always-recreate-deps
—
总是重新创建依赖 (dependency) 容器。与 --no-recreate 不兼容。
--attach [SERVICE …]
—
限定只附加 (attach) 指定服务 (service) 的日志/输出。
--attach-dependencies
—
自动附加 (attach) 指定服务所依赖 (linked) 的其他服务容器的日志输出。
--build
—
在启动容器之前构建镜像 (如果需要的话)。
-d, --detach
—
后台运行 (detached 模式) — 容器启动后命令立即返回。
--exit-code-from SERVICE
—
返回指定服务容器的退出码 (exit code)。使用此选项隐含 --abort-on-container-exit。
--force-recreate
—
强制重新创建容器,即使它们的配置或镜像没有变化。
--menu
—
启用交互式快捷菜单 (interactive menu);与 --detach 不兼容。 (也可以通过环境变量 COMPOSE_MENU 控制)
--no-attach
—
不附加 (attach) 到任何服务容器的日志/输出。
--no-build
—
不构建镜像(即使本地没有镜像也不 build)。
--no-color
—
输出为单色 (无 ANSI 颜色),禁用彩色提示。
--no-deps
—
不启动服务所依赖 (linked) 的其他服务。
--no-log-prefix
—
日志行中不打印前缀 (log prefix)。
--no-recreate
—
如果容器已存在,则不重新创建它们。与 --force-recreate 冲突。
--no-start
—
创建服务 (容器) 但不启动它们。
--pull <policy>
—
在启动前拉取镜像 (pull),策略可以是 "always"、"missing"、"never"。
--quiet-pull
—
拉取镜像时不打印拉取 (pull) 进度。
--remove-orphans
—
移除 (删除) Compose 文件中 未定义 但仍在运行 (orphan) 的容器。
-V, --renew-anon-volumes
—
对匿名卷 (anonymous volumes) 重新创建 (不使用旧容器里的匿名卷)。
--scale SERVICE=NUM
—
将某个服务实例扩展 (scale) 到指定数量。如果指定了 scale,会覆盖 Compose 文件中对应服务的 scale 设置。
-t, --timeout TIMEOUT
默认值约为 10 秒 (取决版本)
停止容器时,等待信号 (SIGTERM) 的超时时间 (以秒为单位)。
--timestamps
—
在日志输出中显示时间戳 (timestamp)。
--wait
—
等待服务 运行或者健康 (health)。该选项会在后台 (隐含 detach) 模式下运行。
--wait-timeout
—
等待服务变为运行 / 健康的最大时间 (以秒为单位)。
-w, --watch
—
监视 (watch) 源代码 (或文件),如果文件发生更改,就重新构建 / 刷新容器。
最后更新于
这有帮助吗?