校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Docker Swarm實現服務的滾動更新的示例代碼

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

熱門標簽:濰坊寒亭400電話辦理多少錢 外呼系統全國 地圖標注能更改嗎 廈門防封電銷電話卡 高德地圖標注公司需要錢 宜賓銷售外呼系統軟件 四川保險智能外呼系統 地圖標注員有發展前景嗎 云南電商智能外呼系統哪家好

一、什么是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并且開啟了基于HTTP的DockerAPI。這個集群中有一個SwarmManager的管理者,用來管理集群中的容器資源。管理者的管理對象不是服務器層面而是集群層面的,也就是說通過Manager,我們只能籠統地向集群發出指令而不能具體到某臺具體的服務器上要干什么(這也是Swarm的根本所在)。至于具體的管理實現方式,Manager向外暴露了一個HTTP接口,外部用戶通過這個HTTP接口來實現對集群的管理。對于稍微大一點的集群,最好是拿出一臺實際的服務器作為專門的管理者,作為學習而言,也可以把管理者和被管理者放在一臺服務器上。

三、Docker Swarm服務的滾動更新

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

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

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

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

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

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

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

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

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

效果如下圖所示

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

FROM nginx
RUN 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部署的服務,版本號變成了2

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

效果如下如所示

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

標簽:廊坊 廣安 紅河 回訪 滁州 德州 巴彥淖爾 湛江

巨人網絡通訊聲明:本文標題《Docker Swarm實現服務的滾動更新的示例代碼》,本文關鍵詞  Docker,Swarm,實現,服務,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Docker Swarm實現服務的滾動更新的示例代碼》相關的同類信息!
  • 本頁收集關于Docker Swarm實現服務的滾動更新的示例代碼的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 互助| 梁平县| 石门县| 平泉县| 信阳市| 临江市| 尚志市| 资阳市| 高陵县| 浑源县| 金塔县| 中超| 上思县| 太康县| 屏东市| 定西市| 托克托县| 新竹县| 屏南县| 龙州县| 白河县| 略阳县| 文水县| 黄骅市| 蓝田县| 鲁甸县| 定结县| 湘潭市| 土默特右旗| 日喀则市| 林周县| 永吉县| 南澳县| 南宫市| 青冈县| 富源县| 泰顺县| 汪清县| 安达市| 鞍山市| 大港区|