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

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

相关推荐
DolitD1 小时前
3D应用多实例并发中的GPU隔离技术路径分析
容器·gru·接口隔离原则
姜鱼问生3 小时前
docker exec 排查容器问题:从日志到进程
运维·网络·数据库·docker·容器
人生百态,人生如梦4 小时前
Ubuntu在低版本下使用ccswitch+claudecode(CCSwitch+Docker+Claude)连调教程
linux·ubuntu·docker·claudecode·ccswitch
程序员老赵4 小时前
Docker 部署 OpenViking:轻松搭建 AI Agent 上下文数据库平台
docker·开源·agent
吴声子夜歌5 小时前
Docker入门与实战——高级镜像构建
docker
小匠石钧知5 小时前
07_在k8s集群中安装ingress-nginx
nginx·容器·kubernetes·ingress
坐看风云变幻6 小时前
Betaflight 开发环境搭建保姆级教程(Ubuntu / Windows+WSL / Docker 三方案 + 官方网址大全)
windows·ubuntu·docker·无人机·飞控·betaflight
零基础1236 小时前
Docker 部署实战:从入门到精通
docker·容器
Lvan的前端笔记6 小时前
docker:基于docker的前端部署方案
前端·docker·状态模式
承渊政道6 小时前
自建服务越来越多怎么管理?Docker部署Flare,搭一个自己的数字入口
运维·docker·容器·内网穿透·cpolar·nas·flare