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

原创文章,欢迎转载。转载请注明:转载自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

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

  • 创建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

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

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

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

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

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

  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

《『中级篇』Docker service更新(52)》
《『中级篇』Docker service更新(52)》 image.png
《『中级篇』Docker service更新(52)》

  1. 更新为端口

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

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

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

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

往期精彩
  1. docker导学(一)
  2. 容器的技术概述(二)
  3. docker的魅力初体验-5分钟安装wordpress不走弯路(三)
  4. docker官网介绍(四)
  5. 如何在mac上安装docker(五)
  6. 如何在window上安装docker(六)
  7. 如何在mac上通过vagrant安装虚拟机(七)
  8. 如何在window上通过vagrant安装虚拟机(八)
  9. docker-Machine的本地使用(九)
  10. docker-Machine的本地使用(十)
  11. 在linux/mac下通过Docker-Machine在阿里云上的使用(11)
  12. docker架构和底层技术(12)
  13. docker Image概述(13)
  14. 手动建立一个base Image(14)
  15. 什么是Container(15)
  16. 构建自己的Docker镜像(16)
  17. Dockerfile详解(17)
  18. 镜像的发布(18)
  19. Dockerfile实战(19)
  20. 容器的操作(20)
  21. Dockerfile实战CMD和ENTRTYPOINT的配合(21)
  22. 容器的资源限制(22)
  23. docker网络(23)
  24. docker学习必会网络基础(24)
  25. Linux网络命名空间(25)
  26. Docker Bridge详解(26)
  27. 容器之间的Link(27)
  28. 容器的端口映射(28)
  29. 容器网络之host和none(29)
  30. 多容器复杂应用的部署(30)
  31. overlay网络和etcd实现多机的容器通信(31)
  32. docker的数据持久化存储和数据共享(32)
  33. windows下vagrant 通过SecureCRT连接centos7(33)
  34. 数据持久化之Data Volume(34)
  35. 数据持久化之bind Mounting(35)
  36. docker 使用bind Mounting实战(36)
  37. docker容器安装wordpress(37)
  38. docker Compose到底是什么(38)
  39. Docker Compose的安装和基本使用(39)
  40. Docker 水平扩展和负载均衡(40)
  41. Docker compose 部署一个复杂的应用(41)
  42. 容器编排Docker Swarm介绍(42)
  43. docker-swarm创建一个多节点集群(43)
  44. play with docker 的使用(44)
  45. docker-swarm中的Service创建维护和水平扩展(45)
  46. 在docker-swarm集群里通过serivce部署wordpress(46)
  47. 集群服务间通信之RoutingMesh(47)
  48. RoutingMesh之Ingress负载均衡(48)
  49. Docker-Stack部署wordpress(49)
  50. Docker-Stack部署投票应用(50)
  51. Docker-Secret管理和使用(51)

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

    原文作者:IT人故事会
    原文地址: https://www.jianshu.com/p/f78528e53b39
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞