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

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

相关推荐
修罗王13 小时前
Linux Docker 服务管理与排查实战指南(新手速查版)
运维·docker
云川之下16 小时前
【k8s】NAD(NetworkAttachmentDefinition)与SR‑IOV‑Operator 关系
云原生·容器·kubernetes
张龙68716 小时前
Docker 镜像瘦身实战:从 1.2GB 到 128MB,我踩过的 7 个坑和一套可复制的方法论
运维·后端·docker
杨浦老苏17 小时前
开源堡垒机 Warpgate:一个容器搞定 SSH、MySQL 和 Web 访问
运维·docker·ssh·堡垒机·群晖
ERD Online18 小时前
docker-compose 一键部署的 MIT 开源数据库建模平台
数据库·docker·开源
ZzzZZzzzZZZzzzz…19 小时前
K8S实战:NFS+StorageClass+PV/PVC+Deployment
运维·云原生·容器·kubernetes·storageclass·linux运维·持久卷
三言老师19 小时前
CentOS7.9 + Kubernetes 1.18.20 -清理所有 docker / containerd 残留
docker·容器·kubernetes
circuitsosk19 小时前
从Docker到Kubernetes:AI应用服务化与弹性伸缩的落地实践
人工智能·docker·kubernetes·ai应用部署
showyoui20 小时前
K8s 集群迁移踩坑:Istio 升级后 nginx 403
网络·docker·kubernetes·istio·service_mesh
云川之下1 天前
【k8s】sriov‑device‑plugin、sriov‑network‑config‑daemon详解
云原生·容器·kubernetes