打包好的docker镜像如何在启动容器前进行测试

 mobiledu2502860487 发布于 2022-10-25 09:02

项目在docker容器集群上跑, 每次部署会干掉旧容器, 然后根据打包好的新镜像启动容器.
这里有个严重的问题, 就是如果新的镜像出现问题, 旧容器又被干掉, 会导致业务无法访问.
请问是否有办法将打包的镜像先测试能否正确启动容器?

2 个回答
  • 既然已经是集群了,难道没有热备系统吗?相同容器至少跑两个实例,一个作为备份。升级的时候先升级其中一个,再升级剩余部分。 类似于这种

    2022-10-26 22:58 回答
  • 集群像docker swarm,当升级容器镜像时,先启动新的容器,等新的容器正常启动后,再停止旧容器。
    Docker启动容器时,如果容器里的命令能正常启动,就会认为容器启动正常。docker swarm随即会停止旧容器。
    但是有些业务不是说容器里的进程启动成功就表示业务正常了,这个时候可以使用Dockerfile中的healthcheck指令来自定义检查业务健康的命令,只有这个命令返回结果为0时才认为容器启动正常,这样swarm才停止旧容器。https://docs.docker.com/engin...

    2022-10-26 22:59 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有