首页 > 其他分享 >『中级篇』Docker service更新(52)

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

时间:2023-01-06 11:31:12浏览次数:61  
标签:web service upload 更新 52 images Docker docker


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)_docker

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

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

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

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

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

  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_05

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

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

  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-6fade88e179915be.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![(https://upload-images.jianshu.io/upload_images/11223715-27d2f7fc53484ed0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![](https://upload-images.jianshu.io/upload_images/11223715-930fcf5a94462a8b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) PS:stack 更新 就不给大家演示了,其实跟这个类似的操作命令大同小异。


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


标签:web,service,upload,更新,52,images,Docker,docker
From: https://blog.51cto.com/u_12040702/5992915

相关文章

  • Docker私有仓库以及Docker shell
    Docker搭建私有仓库公有云:比如百度云,dockerhub私有云:比如搭建到某个内网,docker搭建私有仓库:下载一个镜像docker默认使用的是dockerhubdocker仓库服务器就是docker注册服务......
  • 编写Dockerfile文件
    Dockerfile可以完成一些批量化的工作cdlsmkdirdockerfilecddockerfile/lsvimDockerfile//指定基础的镜像Fromcentos:latest//维护者信息MAINTAINERwjx//shell命令RUN......
  • Docker高级命令
    高级命令:使用history查看镜像历史cp命令复制文件commit命令提交容器修改diff命令检查容器文件的变动inspect查看详细信息使用以下命令创建并查看启动容器dockerpullcentos......
  • podman 和 docker 的比较和区别
    Podman是一个容器管理工具,可以用来运行和管理容器。它是一个开源项目,由RedHat开发,旨在提供与Docker相同的功能,但是没有Docker的daemon进程。这意味着Podman可以......
  • Docker常用命令
    Docker的常用命令帮助命令dockerversion #显示docker的版本信息dockerinfo   #显示docker的系统信息,包括镜像和容器的数量docker --help #万能命令帮助......
  • docker简介和基础概念
    docker是什么docker基于linux内核的cgroup、namespace和unionfs等技术,对进程实行封装隔离,属于os层面的虚拟化技术。由于进程的隔离独立于宿主机和其他隔离的进程,因此也......
  • 如何跳出springboot的service层中某一个方法?
    有一个需求,就是中断某个方法中的for循环目前的做法是:for循环中,增加if判断,如果满足条件就return,会中断这个方法for(inti=0;i<totalIndex;i++){............
  • docker安装rabbitmq
    创建挂载目录mkdir-p/opt/docker/rabbitmq启动dockerrun-d--restart=always--name=rabbitmq-p5672:5672-p15672:15672\-v/opt/docker/rabbitmq:/var/lib/rab......
  • win10试安装docker部署hyperf
    一:部署虚拟机,这里使用的win系统带的Hyper-V虚拟机,其它虚拟机也行1.win+R打开命令行  2.安装Hyper-V. 失败放弃安装,选择其它吧3.win10安装VMware这里参考ht......
  • docker部署Jenkins
     进入jenkins容器查看安装内容dockerps 查看容器id获取id后 通过命令进入对应容器的命令行:dockerexec-itid号/bin/bash执行前配置1.Jenkins-manageJen......