Docker Desktop中带参数docker-compose启动的容器重启行为咨询
Docker Desktop重启自定义配置容器的行为说明
重启时的核心行为
- Docker Desktop里直接重启容器,本质是复用容器已有的运行时配置,不会重新执行你最初的
docker-compose启动命令。 - 这意味着:不会重新读取你指定的
./src/.env文件,也不会重新合并docker-compose.yml和docker-compose.dev.yml的配置,只是基于容器当前的环境变量、启动命令、挂载等参数重启实例。
为什么.env参数没复用
- 你启动时用的
--env-file和多-f参数,是用来生成容器初始配置的工具参数:它们会把.env变量注入到compose模板,合并多个compose文件的规则,最终生成容器的运行时配置(可以用docker inspect <容器名>查看这些固化的配置)。 - 容器启动后,这些工具参数就不再关联了——Docker Desktop重启时只会看容器本身的配置,不会追溯到原来的.env或compose文件。
正确更新配置的方式
- 如果修改了.env或compose文件,想要让配置生效,不能直接重启容器,必须用原命令重新构建启动:
docker-compose --env-file ./src/.env -f docker-compose.yml -f docker-compose.dev.yml up --build -d - 如果你想在Docker Desktop界面里方便管理这些自定义配置,建议用左侧菜单的Compose功能:导入你的compose文件,并指定对应的.env文件路径,这样界面里的启动/重启操作会自动复用这些配置,而不是单独操作单个容器。
内容的提问来源于stack exchange,提问作者snoob dogg
相关产品推荐
相关产品推荐

