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

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

相关推荐
Zender Han3 小时前
常见 Docker 命令介绍与使用指南
docker
两点王爷3 小时前
使用命令行备份/还原docker运行的数据库 (MySQL、PostgreSQL)
mysql·docker·容器
张青贤3 小时前
Docker Remote 未授权访问漏洞修复方法
运维·docker·容器
小夏子_riotous3 小时前
Docker学习路径——10、Docker Compose 一站式编排:从入门到生产级部署
linux·运维·服务器·docker·容器·centos·云计算
smallcelebration3 小时前
132 docker入门学习
学习·docker·容器
A-刘晨阳3 小时前
K8s 之 Ingress 及 Ingress Controller
云原生·容器·kubernetes·负载均衡·ingress
AI服务老曹3 小时前
突破芯片壁垒:基于 Docker 与异构计算架构的工业级 AI 视频管理平台深度解析
人工智能·docker·架构
旧故新长3 小时前
部署自动发卡网站的问题和解决方案
linux·docker
hiwb4 小时前
Docker 安装 MySQL,DBeaver 连接 MySQL
mysql·docker·容器