84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
项目在docker容器集群上跑, 每次部署会干掉旧容器, 然后根据打包好的新镜像启动容器.这里有个严重的问题, 就是如果新的镜像出现问题, 旧容器又被干掉, 会导致业务无法访问.请问是否有办法将打包的镜像先测试能否正确启动容器?
光阴似箭催人老,日月如移越少年。
集群像docker swarm,当升级容器镜像时,先启动新的容器,等新的容器正常启动后,再停止旧容器。Docker启动容器时,如果容器里的命令能正常启动,就会认为容器启动正常。docker swarm随即会停止旧容器。但是有些业务不是说容器里的进程启动成功就表示业务正常了,这个时候可以使用Dockerfile中的healthcheck指令来自定义检查业务健康的命令,只有这个命令返回结果为0时才认为容器启动正常,这样swarm才停止旧容器。https://docs.docker.com/engin...
既然已经是集群了,难道没有热备系统吗?相同容器至少跑两个实例,一个作为备份。升级的时候先升级其中一个,再升级剩余部分。 类似于这种
集群像docker swarm,当升级容器镜像时,先启动新的容器,等新的容器正常启动后,再停止旧容器。
Docker启动容器时,如果容器里的命令能正常启动,就会认为容器启动正常。docker swarm随即会停止旧容器。
但是有些业务不是说容器里的进程启动成功就表示业务正常了,这个时候可以使用Dockerfile中的healthcheck指令来自定义检查业务健康的命令,只有这个命令返回结果为0时才认为容器启动正常,这样swarm才停止旧容器。https://docs.docker.com/engin...
既然已经是集群了,难道没有热备系统吗?相同容器至少跑两个实例,一个作为备份。升级的时候先升级其中一个,再升级剩余部分。 类似于这种