我们有一个多容器应用程序,它使用在Docker Compose中运行的microservices体系结构。
例如,当我对Web应用程序进行代码更改时,我需要使用新代码重建图像,然后在我的撰写堆栈中再次运行它,而不会出现任何停机时间。
以下是我们正在使用的当前事件序列:
docker-compose down
docker-compose up
运行docker-compose down
后,所有应用都会停止运行。然后docker-compose up
将整个堆栈重新启动。
有没有办法在没有任何停机时间的情况下在Docker Compose中重新部署单个映像,而且不会导致整个应用程序堆栈崩溃?
答案 0 :(得分:1)
您可以避免同时放下所有内容(docker-compose down
),只需使用以下内容:
docker-compose pull --parallel
docker-compose up --force-recreate <specific-service-name1>
这将拉动&amp;停止&amp;重新创建(运行)您的<specific-service-name1>
容器,不会触及任何其他容器
稍后您可以部署其余部分:
docker-compose up --force-recreate <specific-service-name2>
docker-compose up --force-recreate <specific-service-name3>