我看到有些用docker做持续集成的文章里,程序的代码是封装在image里,每次有新的提交是会产生新的image,然后到运行container的主机上 stop container , remove container , 拉取新的image , run container ,那么这个过程不会造成运行中的服务中断吗?
我现在有一个用docker-compose组织的项目,如果也想把代码封装在image里,有什么合适的更新生产环境代码的过程吗?
我看到有些用docker做持续集成的文章里,程序的代码是封装在image里,每次有新的提交是会产生新的image,然后到运行container的主机上 stop container , remove container , 拉取新的image , run container ,那么这个过程不会造成运行中的服务中断吗?
我现在有一个用docker-compose组织的项目,如果也想把代码封装在image里,有什么合适的更新生产环境代码的过程吗?
3 回答9.6k 阅读
2 回答2.4k 阅读✓ 已解决
2 回答836 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答1.4k 阅读
2 回答1.3k 阅读
1 回答1.6k 阅读
推荐两种解决方式
1、docker只部署环境,所有的程序和配置文件都volume到外面,无需重启docker便可更新程序
2、线上部署主备docker,主备切换,逐一更新
推荐第一种方式,一般上线了开发环境基本不会动了,即使需要增加依赖,也可以进入docker执行