docker-compose up -d --build命令解释

基于Dockerfile/docker-compose.yml构建启动服务

1
docker-compose up -d --build

参数说明

  1. --build
    在启动容器前,强制重新构建 docker-compose.yml 中定义的镜像(相当于执行了 docker-compose build)。

    • 没加 --build 的话,如果镜像已经存在,它不会重新构建。
    • 加了之后,可以保证最新的 Dockerfile 变更被应用。
  2. up
    根据 docker-compose.yml 启动服务:

    • 如果容器不存在,会新建容器并运行。
    • 如果容器已存在但没运行,会直接启动它。
  3. -d (detached mode)
    后台运行,不会把日志打印到前台。

    • 如果不加 -d,会把容器的日志输出到当前终端,适合调试。

常见使用场景

  • 开发调试
    本地改了 Dockerfilerequirements.txt/package.json,需要让容器镜像更新。
    → 用 docker-compose up -d --build 一次搞定。

  • CI/CD 部署
    更新代码后,通过 CI 服务器执行这个命令,把最新镜像构建并部署上线。


补充小技巧

  1. 只构建不启动

    1
    docker-compose build
  2. 重新构建并强制替换容器

    1
    docker-compose up -d --force-recreate --build

    避免用了旧容器。

  3. 查看日志

    1
    docker-compose logs -f service_name
  4. 只重启某个服务

    1
    docker-compose up -d --build web