docker-compose up -d --build 和 docker-compose up -d 和 docker-compose build 区别

最简单、最清晰、最直白 的方式给你讲清楚,3 条命令的区别,你一看就懂、永远不会忘!

一句话总结

  • docker-compose build只构建镜像,不启动
  • docker-compose up -d只启动容器,不重新构建镜像
  • docker-compose up -d --build先重新构建镜像,再启动

详细大白话解释(超级好懂)

1. docker-compose build

作用:只打包镜像,不启动容器!

  • 只去执行 Dockerfile
  • 生成新的镜像
  • 不会启动任何服务

适合:你只想重新编译代码 / 重新构建镜像,但暂时不想启动


2. docker-compose up -d

作用:直接启动容器,不重新构建!

  • 已经存在的旧镜像启动
  • 不会重新编译、不会重新构建
  • 如果你改了 Dockerfile → 不会生效!

适合:镜像没变化,只是想启停服务


3. docker-compose up -d --build

作用:先重新构建 → 再启动!

  • 先执行 build(重新打包镜像)
  • 再执行 up -d(启动)
  • 你改了代码、改了 Dockerfile、改了配置 → 必须用这条!

适合:**90% 开发场景都用这条!**改了东西想让它生效 → 直接用这条最稳。


最实用记忆口诀(背这个)

  1. 只想打包 → build
  2. 只想启动旧的 → up -d
  3. 改了东西要生效 → up -d --build

对应你现在的场景

你改了 RabbitMQ 的 Dockerfile 想让延迟插件生效 → 必须用这条

plaintext

复制代码
docker-compose up -d --build

最终结论(你只要记住这个)

平时开发,一律用:

plaintext

复制代码
docker-compose up -d --build

最稳、最安全、永远不会用错!

相关推荐
Patrick_Wilson5 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy5 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭5 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩6 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
程序员老赵7 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1117 天前
LM Studio Docker 部署——本地大模型一键启动
docker
曲幽8 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
武子康10 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
Alsn8613 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
JLWcai2025100913 天前
铸造领域树脂砂轮|金利威多场景解决方案,20 + 配方覆盖全需求
mongodb·zookeeper·eureka·spark·rabbitmq·memcached·storm