一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - 服務器知識 - Docker Swarm實現服務的滾動更新的示例代碼

Docker Swarm實現服務的滾動更新的示例代碼

2021-04-25 17:00趙強老師 服務器知識

這篇文章主要介紹了Docker Swarm實現服務的滾動更新的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

一、什么是docker swarm?

docker swarm是docker官方提供的一款集群管理工具,其主要作用是把若干臺docker主機抽象為一個整體,并且通過一個入口統一管理這些docker主機上的各種docker資源。swarm和kubernetes比較類似,但是更加輕,具有的功能也較kubernetes更少一些。

docker swarm 和 docker compose 一樣,都是 docker 官方容器編排項目,但不同的是,docker compose 是一個在單個服務器或主機上創建多個容器的工具,而 docker swarm 則可以在多個服務器或主機上創建容器集群服務,對于微服務的部署,顯然 docker swarm 會更加適合。

從 docker 1.12.0 版本開始,docker swarm 已經包含在 docker 引擎中(docker swarm),并且已經內置了服務發現工具,我們就不需要像之前一樣,再配置 etcd 或者 consul 來進行服務發現配置了。

二、docker swarm的體系架構

Docker Swarm實現服務的滾動更新的示例代碼

這個圖作為一個整體實際上都處于一個所謂的集群中,它可能對應了一到多臺的實際服務器。每臺服務器上都裝有docker并且開啟了基于http的dockerapi。這個集群中有一個swarmmanager的管理者,用來管理集群中的容器資源。管理者的管理對象不是服務器層面而是集群層面的,也就是說通過manager,我們只能籠統地向集群發出指令而不能具體到某臺具體的服務器上要干什么(這也是swarm的根本所在)。至于具體的管理實現方式,manager向外暴露了一個http接口,外部用戶通過這個http接口來實現對集群的管理。對于稍微大一點的集群,最好是拿出一臺實際的服務器作為專門的管理者,作為學習而言,也可以把管理者和被管理者放在一臺服務器上。

三、docker swarm服務的滾動更新

docker swarm可以實現服務平滑升級,即服務不停機更新,客戶端無感知。下面我們通過一個具體的例子,來為大家演示。這里我們將部署一個基于nginx的web應用程序服務,部署在node節點上。我們將創建同一個應用的兩個版本:version 1和 version 2

創建一個dockerfile,并使用docker build進行編譯。

?
1
2
from nginx
run echo '<h1>swarm:version 1 <h1>' > /usr/share/nginx/html/index.html

注意:為了使得swarm集群中的每個節點都能訪問到鏡像,我們這里把生成的鏡像上傳到自己的鏡像倉庫中。

?
1
2
3
docker login
docker build -t collenzhao/mynginx:v1 .
docker push collenzhao/mynginx:v1

創建swarm的服務,即:通過鏡像啟動容器

?
1
docker service create -p 7788:80 --replicas 3 --name myswarmtest collenzhao/mynginx:v1

通過docker service ls查看部署的服務。

Docker Swarm實現服務的滾動更新的示例代碼

通過docker service ps myswarmtest查看部署服務的詳細信息

Docker Swarm實現服務的滾動更新的示例代碼

效果如下圖所示

Docker Swarm實現服務的滾動更新的示例代碼

更新之前的dockerfile,注意版本號變為:2

?
1
2
from nginx
run echo '<h1>swarm:version 2 <h1>' > /usr/share/nginx/html/index.html

使用docker build進行編譯

?
1
docker build -t collenzhao/mynginx:v2 .

使用docker push上傳到docker hub

?
1
docker push collenzhao/mynginx:v2

更新之前在swarm部署的服務,版本號變成了2

?
1
docker service update --image collenzhao/mynginx:v2 myswarmtest

效果如下如所示

Docker Swarm實現服務的滾動更新的示例代碼

到此這篇關于docker swarm實現服務的滾動更新的示例代碼的文章就介紹到這了,更多相關docker swarm 滾動更新內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://segmentfault.com/a/1190000022502539

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 美女脱了内裤打开腿让男人图片 | 校园纯肉H教室第一次 | 美女脱了内裤让男生玩屁股 | 丝袜高跟小说 | 精品国产原创在线观看视频 | 美女被扒开屁股进去网 | yellow视频在线观看免费 | 久久精品99国产精品日本 | yin娃sao货调教情趣用品店 | 暖暖的韩国免费观看 | 四虎永久 | 日本三级免费看 | 欧美日韩视频在线成人 | 欧美影院一区二区 | 奇米影视亚洲狠狠色 | 亚洲国产成人超福利久久精品 | 免费观看视频高清在线 | 九九热精品免费观看 | 日韩成人在线视频 | 成年人黄视频在线观看 | 91久久青青青国产免费 | 九九精品免视看国产成人 | 好大水好多好爽好硬好深视频 | np高h疯狂黄暴宫口 narutomanga玖辛奈之乳 | 欧美亚洲免费 | 欧美视频一二三区 | 色天天综合色天天看 | 桃色视频破解版 | 校花被吃奶还摸下面 | 久久精品无码人妻无码AV蜜臀 | 国产大片免费在线观看 | 午夜影院免费体验 | 欧美作爱福利免费观看视频 | 欧美a欧美1级 | cosplay 极品videos| 火影小南被爆羞羞网站进入 | 天堂va在线 | 欧洲久久 | 99视频在线免费观看 | 精品一久久香蕉国产线看播放 | 亚洲欧洲综合 |