文章内容
2026/4/1 3:17:01,作 者: 黄兵
Docker Compose 重启
最近按照这篇文章:Python 项目 docker 部署过程 部署了项目,但是经过测试,有一部分内容配置错误,需要修改 .env 文件。
修改了 .env 文件之后,如何重启 Docker Compose 呢?
你这个场景本质是:.env 只在容器创建时读取,不会动态更新。所以修改 .env 后,必须让容器“重新创建”,而不是简单 restart。
✅ 标准做法(推荐)
docker compose down docker compose up -d
解释:
down:停止并删除容器(但不会删镜像)up -d:重新读取.env并创建新容器
👉 这是最稳妥的方式,适用于所有 .env 变更
⚡ 更快方式(不完全销毁)
如果你不想完全 down,可以用:
docker compose up -d --force-recreate
作用:
强制重新创建容器
会重新加载
.env比
down + up更快一些
❗ 常见误区
❌ 1. 直接 restart
docker compose restart
👉 不会生效!
只是重启已有容器
不会重新读取
.env
❌ 2. 修改 .env 但容器用了 environment
如果你在 docker-compose.yml 里写死了:
environment: - DEBUG=false
👉 .env 改了也不会影响这里
优先级是:
environment > .env
🔍 如何确认是否生效?
可以检查容器环境变量:
docker compose execenv | grep YOUR_VAR
🧠 补充(高级一点)
如果修改的是:
端口
volumes
networks
👉 必须 recreate(也就是 up 或 down),否则完全不会变
✅ 总结一句话
改
.env后,必须执行:docker compose up -d --force-recreate或down + up才会生效
其它相关推荐:
评论列表