首页 > 其他 > 详细

『中级篇』Docker service更新(52)

时间:2018-09-20 12:09:39      阅读:211      评论:0      收藏:0      [点我收藏+]

>原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
>原文链接地址:『中级篇』Docker service更新(52)

serive更新其实并不是简单的更新,在swarm模式下的service都是在运行的,正在运行的进行更新,swarm是生产环境,我们不想因为更新中断咱们的业务,想的是不影响正常的业务开展。在现实生产环境进行不宕机的更新远比现在咱们这种要复杂的多的多,咱们这次演示可能稍微简单,只是让大家明白一个思路。
源码:https://github.com/limingios/docker/tree/master/No.5/labs/wordpress

#####创建service

  • 必须创建overlay的network
sudo docker network create -d overlay demo

技术分享图片

  • 创建servie

先创建一个service,从hub中拉取1.0版本,然后扩展service里面的容器数量为2,通过shell脚本的方式访问容器返回结果,然后将拉取1.0的版本升级为2.0版本,查看shell访问的返回是否中断

  1. 拉取1.0版本
docker service create --name web -p 8080:5000 --network demo xiaopeng163/python-flask-demo:1.0
docker service ls
docker service ps web

技术分享图片

  1. 扩展容器数量
docker service scale web=2
docker service ls
docker service ps web

技术分享图片

  1. 编写shell脚本一直访问
sh -c "while true;do curl 127.0.0.1:8080&&sleep 1;done"

技术分享图片

  1. 更新为2.0

中间没有发生中断操作,直接升级成了2.0

docker service update --image xiaopeng163/python-flask-demo:2.0 web
#1.0已经shutdown了,启动了2.0
docker service ps web

技术分享图片

技术分享图片

技术分享图片

  1. 更新为端口

    端口更新可能存在业务中断的情况

    docker service update --publish-rm 8080:5000 --publish-add 8088:5000 web
    docker service ps web
    docker service  web

    技术分享图片

![(https://upload-images.jianshu.io/upload_images/11223715-27d2f7fc53484ed0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

技术分享图片

PS:stack 更新 就不给大家演示了,其实跟这个类似的操作命令大同小异。

技术分享图片

『中级篇』Docker service更新(52)

原文:http://blog.51cto.com/12040702/2177441

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!