專案在docker容器集群上跑, 每次部署會幹掉舊容器, 然後根據打包好的新鏡像啟動容器.
這裡有個嚴重的問題, 就是如果新的鏡像出現問題, 舊容器又被幹掉, 會導致業務無法訪問.
請問是否有辦法將打包的鏡像先測試能否正確啟動容器?
PHPz2017-04-27 09:04:21
叢集像docker swarm,當升級容器映像時,先啟動新的容器,等新的容器正常啟動後,再停止舊容器。
Docker啟動容器時,如果容器裡的指令能正常啟動,就會認為容器啟動正常。 docker swarm隨即會停止舊容器。
但是有些業務不是說容器裡的進程啟動成功就表示業務正常了,這個時候可以使用Dockerfile中的healthcheck指令來自定義檢查業務健康的命令,只有這個命令返回結果為0時才認為容器啟動正常,這樣swarm才停止舊容器。 https://docs.docker.com/engin...