Docker Compose 平滑切换环境变量文件,容器配置不残留
2026-11-13 07:22 AlfredZhao 阅读(0) 评论(0) 收藏 举报在 Docker Compose 项目里更换环境变量文件时,如果直接改文件名再启动,旧容器可能仍带着上一次的环境变量。笔者按三个步骤操作,可以避免旧配置残留,让容器用上新文件。
01 | 先停掉并清理旧容器
切换前,先用当前的环境变量文件停止并删除正在运行的容器:
docker-compose --env-file env.docker down
新版 Docker 也可以写成:
docker compose --env-file env.docker down
这一步会停止并删除旧容器(默认还会删除网络),期间服务会中断,请在维护窗口内操作。需要说明的是,--env-file 只影响 Compose 读取变量做插值,并不会把变量注入容器;容器内的环境变量来自 compose 文件中的 environment/env_file 配置,因此重建容器即可让新配置生效。
02 | 重命名环境变量文件
用 mv 把文件改成新名字,例如 .env.docker,或者直接改成 .env:
mv env.docker .env.docker
文件名会影响后续启动方式,需要先想清楚:
① 命名为 .env
Docker Compose 默认会自动加载 .env,以后启动不必再加 --env-file 参数,直接运行:
docker-compose up -d
② 命名为 .env.docker
Docker Compose 不会把它当作默认的 .env 处理,因此启动时仍需显式指定:
docker-compose --env-file .env.docker up -d
03 | 用新文件重新启动并检查
按上一步选定的文件名执行对应启动命令。若命名为 .env.docker:
docker-compose --env-file .env.docker up -d
若命名为 .env:
docker-compose up -d
启动后,用 docker-compose ps 查看容器运行状态,用 docker-compose logs 排查启动报错;如需确认容器内实际生效的环境变量,可执行 docker-compose exec <服务名> env 查看。这样切换环境变量文件时,容器配置能正确更新,也不容易留下旧配置的隐患。
关注我,和AI一起成长~
转载请注明原文链接:https://www.cnblogs.com/jyzhao/p/23649311
👋 感谢阅读,欢迎关注我的公众号 「赵靖宇」
浙公网安备 33010602011771号