在 docker compose up --build -d 命令中,**-d(或 --detach)参数的作用是让容器以后台模式(detached mode)**运行。以下是详细解释:
**-d 参数的作用**
后台运行容器:
默认情况下,docker compose up 会附着(attach)到容器的日志输出,占用当前终端窗口。
添加 -d 后,容器启动后会立即释放终端,允许你继续在终端中执行其他操作。
适用场景:
在脚本或自动化流程中启动服务,无需手动干预。
长期运行的服务(如 Web 服务器、数据库),不需要实时查看日志。
命令行为对比
- 不使用 -d 参数:
bash
docker compose up --build
终端会实时打印所有容器的日志输出。
按下 Ctrl+C 会停止容器并退出。 - 使用 -d 参数:
bash
docker compose up --build -d
容器启动后,终端仅显示容器名称和状态(如 done),随后返回命令行。
按下 Ctrl+C 不会影响容器运行,需手动停止(见下文)。
附加操作
查看运行中的容器:
bash
docker compose ps
查看实时日志:
bash
docker compose logs -f # -f 表示持续跟踪日志
停止后台容器:
bash
docker compose down # 停止并删除容器(保留卷)
docker compose stop # 仅停止容器
参数组合说明
–build:强制重新构建镜像(无论镜像是否已存在)。
-d:仅控制容器的运行模式,与 --build 无依赖关系。
总结
**-d 的核心作用**:让容器在后台运行,释放终端。
适用场景:需要长期运行服务或自动化部署时,优先使用 -d。