目前手动停止容器,再使用新的镜像启动容器,总会有那么一点点期间服务不可用,想请教各位大佬怎么解决这个问题呢
![]() |
1
juzisang 177 天前
可以试试 docker stack deploy xxx.yaml ,配置文件语法和 docker compose 类似
对应配套的命令是 docker service xxx 系列命令 |
![]() |
2
ETiV 177 天前 via iPhone
想自己实现的话,学 Intel:Tick/Tock ,蓝绿发布
比如正在运行的容器名叫 tick-XX ,端口号 1080 deploy 新服务的时候,容器名就叫 tock-XX ,端口号 1090 。health check 没问题了去改 nginx 的 proxy_pass ,然后 reload nginx |
4
gtgc2005 176 天前 ![]() 其实就算如同楼上说的,通过建立新的容器后修改反代,也会造成一个新的问题。就是新旧容器终归会有那么一点点时间数据不一致。在新容器建立和旧容器切换那段时间的数据会保存在旧容器里。这点要注意
|
![]() |
5
Aliencn 174 天前 ![]() 上 k3s ,或者一楼的 docker swarm
|