我们有一个多容器应用程序,它使用 microservices架构,在 Docker Compose 中运行。
例如,当我对 Web 应用程序进行代码更改时,我需要使用新代码重建图像,然后在我的撰写堆栈中再次运行它,而无需任何停机时间。
这是我们正在使用的当前事件序列:
docker-compose down
docker-compose up
运行后
docker-compose down
,所有应用程序都关闭。然后docker-compose up
将整个堆栈带回来。有没有一种方法可以在 Docker Compose 中重新部署单个镜像而不会出现任何停机时间和整个应用程序堆栈?
最佳答案
你可以避免同时放下所有东西( docker-compose down
),就像这样:
docker-compose pull --parallel
docker-compose up --force-recreate <specific-service-name1>
这将拉取 & 停止 & 重新创建(运行)您的
<specific-service-name1>
容器,不会接触任何其他容器。稍后您可以部署其余的:
docker-compose up --force-recreate <specific-service-name2>
docker-compose up --force-recreate <specific-service-name3>
关于docker - 无需停机即可在 Docker Compose 堆栈中部署新镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45064446/