首页/云/Docker 容器速查/docker compose up 拉起服务
Compose 编排55 条

docker compose up 拉起服务

按 compose 文件创建并启动全部服务:-d 后台运行、--build 先重建镜像、--force-recreate 强制重建容器,是最常用的入口命令。

Docker 容器速查云更新于 2026-10-13

compose up 是什么

按编排文件把整套服务的容器创建并启动起来。它是日常使用编排工具的主要入口:读取文件里的服务定义,按依赖顺序创建网络、卷与容器。加后台参数后服务在后台运行;只改了配置没换镜像时,它会重建受影响的容器让改动生效。

基本信息

语法docker compose up [选项] [服务名...]
常用选项-d 后台运行 --build 先构建镜像 --force-recreate 强制重建容器 --remove-orphans 清理多余容器
限定范围命令末尾跟服务名时只处理指定服务及其依赖
默认行为前台运行并聚合日志,终端中断会停止服务
项目隔离同目录下的编排文件属于同一项目,项目名影响容器与网络的命名前缀

典型使用场景

  • 本地一键起全栈环境:数据库、缓存、后端、前端用一条命令全部拉起
  • 部署测试环境:把整套服务按编排文件部署到测试机,保证环境一致
  • 验证配置改动:改完编排文件重新拉起,确认端口、变量、挂载都按预期生效
  • 迭代单个服务:只重建改动过的那个服务,其余保持运行
  • 清理历史残留:带上清理多余容器的选项,去掉文件里已删除服务留下的实例

常用示例

常用示例
docker compose up -d                                  # 后台拉起全部服务
docker compose up -d --build web                      # 先重建镜像再起 web
docker compose up --force-recreate --remove-orphans -d   # 强制重建并清理残留
docker compose up -d db                               # 只起数据库及其依赖
docker compose ps                                     # 确认各服务状态

改了什么要做什么

改动内容需要的操作原因
服务镜像内容重新构建镜像再拉起容器基于旧镜像,重建后才会用新镜像
端口映射重新拉起触发容器重建端口在创建容器时确定,重启不会应用新端口
挂载与卷重新拉起触发容器重建挂载配置同样属于创建期参数
环境变量重新拉起触发容器重建变量注入发生在创建阶段
仅进程内配置重启进程或按应用方式重载无需重建容器,重启即可生效

上线前后的检查

  • 拉起前用校验命令检查文件语法,缩进错误与重复键在这里就能发现
  • 确认端口没有被占用,冲突会在创建容器阶段直接失败
  • 确认镜像已构建或已拉取,避免上线时才开始下载
  • 拉起后逐个核对服务状态与健康检查结果,别只看命令返回成功
  • 确认日志没有报错,启动阶段的错误往往只出现一次

多环境使用的注意点

  • 不同环境用不同项目名或独立目录,避免容器与网络互相覆盖
  • 环境差异放变量文件,编排文件保持共用,减少维护成本
  • 生产环境慎用清理多余容器的选项,先确认项目范围里没有手工维护的实例
  • 发布记录里保留本次使用的镜像版本,回滚时按版本重新拉起
  • 编排文件进版本库,变更走评审流程,避免只改机器上的文件
默认前台运行会聚合所有服务的日志输出,本地调试方便,但生产与脚本场景统一加后台参数,避免终端断开导致服务一起停止。
只有拉起才会应用编排文件的改动。用启动已有容器的方式操作,配置改动不会生效,这是「改了没反应」的最常见原因。

易错点

  • 改完编排文件只做了启动或重启,容器仍是旧配置,误以为改动无效
  • 端口冲突时拉起会在创建阶段失败,先看宿主占用情况再改端口
  • 清理多余容器的选项范围按项目名圈定,确认没有手工容器混在同一项目里
  • 不同环境共用项目名与目录,拉起时互相覆盖容器与网络,排查时定位困难

数据来源与参考

  • Docker 官方 CLI 参考:docker compose up(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌