久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

Docker Swarm實現(xiàn)服務(wù)的滾動更新的示例代碼

瀏覽:2日期:2024-11-21 10:32:58

一、什么是Docker Swarm?

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

Docker Swarm 和 Docker Compose 一樣,都是 Docker 官方容器編排項目,但不同的是,Docker Compose 是一個在單個服務(wù)器或主機上創(chuàng)建多個容器的工具,而 Docker Swarm 則可以在多個服務(wù)器或主機上創(chuàng)建容器集群服務(wù),對于微服務(wù)的部署,顯然 Docker Swarm 會更加適合。

從 Docker 1.12.0 版本開始,Docker Swarm 已經(jīng)包含在 Docker 引擎中(docker swarm),并且已經(jīng)內(nèi)置了服務(wù)發(fā)現(xiàn)工具,我們就不需要像之前一樣,再配置 Etcd 或者 Consul 來進行服務(wù)發(fā)現(xiàn)配置了。

二、Docker Swarm的體系架構(gòu)

Docker Swarm實現(xiàn)服務(wù)的滾動更新的示例代碼

這個圖作為一個整體實際上都處于一個所謂的集群中,它可能對應(yīng)了一到多臺的實際服務(wù)器。每臺服務(wù)器上都裝有Docker并且開啟了基于HTTP的DockerAPI。這個集群中有一個SwarmManager的管理者,用來管理集群中的容器資源。管理者的管理對象不是服務(wù)器層面而是集群層面的,也就是說通過Manager,我們只能籠統(tǒng)地向集群發(fā)出指令而不能具體到某臺具體的服務(wù)器上要干什么(這也是Swarm的根本所在)。至于具體的管理實現(xiàn)方式,Manager向外暴露了一個HTTP接口,外部用戶通過這個HTTP接口來實現(xiàn)對集群的管理。對于稍微大一點的集群,最好是拿出一臺實際的服務(wù)器作為專門的管理者,作為學(xué)習(xí)而言,也可以把管理者和被管理者放在一臺服務(wù)器上。

三、Docker Swarm服務(wù)的滾動更新

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

創(chuàng)建一個Dockerfile,并使用docker build進行編譯。

FROM nginxRUN echo ’<h1>Swarm:Version 1 <h1>’ > /usr/share/nginx/html/index.html

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

docker logindocker build -t collenzhao/mynginx:v1 .docker push collenzhao/mynginx:v1

創(chuàng)建Swarm的服務(wù),即:通過鏡像啟動容器

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

通過docker service ls查看部署的服務(wù)。

Docker Swarm實現(xiàn)服務(wù)的滾動更新的示例代碼

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

Docker Swarm實現(xiàn)服務(wù)的滾動更新的示例代碼

效果如下圖所示

Docker Swarm實現(xiàn)服務(wù)的滾動更新的示例代碼

更新之前的Dockerfile,注意版本號變?yōu)椋?

FROM nginxRUN echo ’<h1>Swarm:Version 2 <h1>’ > /usr/share/nginx/html/index.html

使用docker build進行編譯

docker build -t collenzhao/mynginx:v2 .

使用docker push上傳到docker hub

docker push collenzhao/mynginx:v2

更新之前在Swarm部署的服務(wù),版本號變成了2

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

效果如下如所示

Docker Swarm實現(xiàn)服務(wù)的滾動更新的示例代碼

到此這篇關(guān)于Docker Swarm實現(xiàn)服務(wù)的滾動更新的示例代碼的文章就介紹到這了,更多相關(guān)Docker Swarm 滾動更新內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Docker
相關(guān)文章:
主站蜘蛛池模板: 日日干天天操 | 精品国产99 | 欧美一级艳片视频免费观看 | 欧美黑人一级爽快片淫片高清 | 欧美日本高清视频 | 欧美自拍视频一区 | 国产99久久久久久免费看农村 | 人人爽在线观看 | 一区二区日韩 | 欧美一区在线观看视频 | 久久久久亚洲一区二区三区 | 国内精品一区二区 | 国产精品久久国产精品 | aaa在线观看 | 国产精品久久精品 | 中文字幕一区二区在线观看 | 国产无套一区二区三区久久 | 黄色片在线 | 午夜精品久久久久久久久 | 一级黄色毛片a | 国产三级精品三级 | 欧美一区久久 | 久久aⅴ国产欧美74aaa | 久热在线视频 | 久久久久国产精品 | 亚洲欧美一区二区三区久久 | 国产成人精品一区二区在线 | 成人午夜啪啪好大 | 中文字幕一区二区三区乱码图片 | 成人在线播放 | 日韩一区二区三区在线观看 | 色黄网站 | 久久久久女人精品毛片九一韩国 | 久久综合九色综合欧美狠狠 | 在线成人av | 91av视频在线 | 99re视频在线| 国产精品亚洲成人 | 国产精品99在线观看 | 久久久久免费观看 | 国产三级在线播放 |