【发布时间】:2018-07-19 23:34:59
【问题描述】:
我正在通过 docker-compose 部署我的应用程序,它有 2 个服务:服务器应用程序和 nginx。
所以在 CI 中我创建了以下指令脚本:
docker-compose build # create new containers
docker-compose down # down old containers
docker-compose up -d # up new containers
但是服务器应用容器有自己的启动时间,所以在应用启动后我看到502页面,因为服务器应用还没有准备好接收呼叫,但是nginx已经准备好了。
我想做的是保持旧容器运行,在构建和构建新容器期间,等待一段时间让服务器应用程序准备好,然后以某种方式替换它们。所以整个操作对用户来说应该是无缝的。
我该怎么做?
【问题讨论】:
-
您在看零停机部署模块吗? martinfowler.com/bliki/BlueGreenDeployment.html 服务正在获取更新,恕不另行通知。如果是,那么您需要使用 Blue Green 部署模块。
标签: docker docker-compose continuous-deployment