文章内容

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 exec  env | grep YOUR_VAR

🧠 补充(高级一点)

如果修改的是:

  • 端口

  • volumes

  • networks

👉 必须 recreate(也就是 up 或 down),否则完全不会变

✅ 总结一句话

.env 后,必须执行:
docker compose up -d --force-recreatedown + up 才会生效


其它相关推荐:

1、Python 项目 docker 部署过程

2、Dockerfile 构建系统与 GitHub

3、Docker的安装,配置,更新和卸载

4、Ubuntu 24.04 安装 Docker Compose v2

5、Dockerfile 构建系统与 GitHub

分享到:

发表评论

评论列表