docker-compose.yml的版本控制
我的应用程序有4个docker容器,它们相互通信,并用docker-compose.yml的版本控制,docker-compose,Docker Compose,我的应用程序有4个docker容器,它们相互通信,并用docker compose.yml文件指定,因此我可以从存储文件的位置开始执行docker compose up-d 实际上,我的CI服务从提交到git存储库,再到测试,然后构建部署所需的docker映像,我已经完成了设置。我现在需要弄清楚如何部署 我已经运行了当前版本,并且通过保存在.env文件中的环境变量配置了我的docker compose.yml文件。它不太可能在不同版本之间改变,但它可能会改变。将要更改的是.env文件,因为该文件
docker compose.yml
文件指定,因此我可以从存储文件的位置开始执行docker compose up-d
实际上,我的CI服务从提交到git存储库,再到测试,然后构建部署所需的docker映像,我已经完成了设置。我现在需要弄清楚如何部署
我已经运行了当前版本,并且通过保存在.env
文件中的环境变量配置了我的docker compose.yml
文件。它不太可能在不同版本之间改变,但它可能会改变。将要更改的是.env
文件,因为该文件指定CI系统刚刚构建的图像名称和标记,docker compose.yml
文件将使用该文件启动运行系统的新版本.env
由存储库中的脚本动态创建,并由CI系统在其工作区中运行。我的部署步骤实际上只是将.env
和docker compose.yml
复制到位,然后停止旧的服务集并启动新的服务
我的问题是,如果我在运行版本下更改.env
文件或docker compose.yml
,那么docker compose down
是否会正确停止旧的运行图像,这样当我立即使用docker compose up-d
跟随它时,我会切换到新图像。有没有更好的方法来处理这种情况