docker-compose up -d --build命令解释
基于Dockerfile/docker-compose.yml构建启动服务
1 | docker-compose up -d --build |
参数说明
--build
在启动容器前,强制重新构建docker-compose.yml中定义的镜像(相当于执行了docker-compose build)。- 没加
--build的话,如果镜像已经存在,它不会重新构建。 - 加了之后,可以保证最新的 Dockerfile 变更被应用。
- 没加
up
根据docker-compose.yml启动服务:- 如果容器不存在,会新建容器并运行。
- 如果容器已存在但没运行,会直接启动它。
-d(detached mode)
后台运行,不会把日志打印到前台。- 如果不加
-d,会把容器的日志输出到当前终端,适合调试。
- 如果不加
常见使用场景
开发调试
本地改了Dockerfile或requirements.txt/package.json,需要让容器镜像更新。
→ 用docker-compose up -d --build一次搞定。CI/CD 部署
更新代码后,通过 CI 服务器执行这个命令,把最新镜像构建并部署上线。
补充小技巧
只构建不启动
1
docker-compose build
重新构建并强制替换容器
1
docker-compose up -d --force-recreate --build
避免用了旧容器。
查看日志
1
docker-compose logs -f service_name
只重启某个服务
1
docker-compose up -d --build web