激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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

服務器之家 - 服務器技術 - 服務器知識 - Docker集群的創建與管理實例詳解

Docker集群的創建與管理實例詳解

2021-02-28 16:55何小有 服務器知識

這篇文章主要介紹了Docker集群的創建與管理,結合實例形式詳細分析了docker集群原理、創建、訪問等相關操作技巧與注意事項,需要的朋友可以參考下

本文詳細講述了Docker集群的創建與管理。分享給大家供大家參考,具體如下:

在《Docker簡單安裝與應用入門教程》中編寫一個應用程序,并將其轉化為服務,在《Docker分布式應用教程》中,使應用程序在生產過程中擴展5倍,并定義應該如何運行?,F在將此應用程序部署到集群上,并在多臺機器上運行它,通過將多臺機器連接到Dockerized集群上,使多容器、多機器應用成為可能。

Docker集群的創建與管理實例詳解

Swarm(集群)是運行Docker并加入到一個集群中的一組機器,在這種情況下,您將繼續運行以往的Docker命令,但是現在它們將由swarm manager(集群管理器)在集群上執行。集群中的機器可以是物理的或虛擬的,加入集群后,它們被稱為nodes(節點)。集群管理器可以使用多種策略來運行容器,比如emptiest node(最空的節點),它使用容器填充最少使用的機器?;蛘遟lobal(全局),它確保了每臺機器只能得到指定容器的一個實例。您可以指示集群管理器在組成文件中使用這些策略,就像您已經使用的策略一樣。

集群管理器是集群中唯一可以執行命令的機器,或者授權其他機器作為workers(工人)加入集群。工人只是在那里提供能力,并沒有權力告訴任何其他機器可以做什么和不可以做什么。到目前為止,您已經在本地機器上以單主機模式使用Docker,但是Docker也可以切換到集群模式,這就是使用集群的原因。當立即啟用集群模式使當前機器成為集群管理器時,Docker將運行您正在管理的集群上執行的命令,而不僅僅是在當前的機器上。

創建一個集群

一個集群由多個節點組成,可以是物理機或虛擬機,做法很簡單,運行docker swarm init來啟用集群模式,并讓你的當前機器成為集群管理器,然后在其他機器上運行docker swarm join讓它們作為工人加入集群。

接下來使用虛擬機快速創建一個集群,需要一個可以創建虛擬機(VMs)的虛擬機管理程序,在機器上安裝Oracle VirtualBox 應用程序。如果是Windows 10系統,而且安裝了Hyper-V,則無需安裝VirtualBox,而應該使用Hyper-V。

現在,使用docker-machine創建幾個虛擬機,使用VirtualBox驅動程序:

?
1
2
$ docker-machine create --driver virtualbox myvm1
$ docker-machine create --driver virtualbox myvm2

您現在創建了兩個名為myvm1和myvm2的虛擬機,使用下面命令列出機器并獲取其IP地址:

?
1
$ docker-machine ls

第一臺機器將作為管理員,執行管理命令,認證工人加入群體,第二臺機器將成為工人。可以使用docker-machine ssh將命令發送到虛擬機,執行docker swarm init使myvm1成為集群管理器:

?
1
$ docker-machine ssh myvm1 "docker swarm init --advertise-addr <myvm1的ip>"

在執行docker swarm init后,響應中會包含一個預配置的docker swarm join命令,您可以在要添加的任何節點上運行該命令。復制這個命令,并通過docker-machine ssh把它發送到名為myvm2的虛擬機,讓myvm2作為工人加入新的集群:

?
1
$ docker-machine ssh myvm2 "docker swarm join --token <token> <ip>:2377"

將myvm2加入集群時,端口號要選擇2377,因為端口2376是Docker守護進程端口,不要使用此端口,否則可能會遇到錯誤。在管理器上運行docker node ls以查看集群中的節點:

?
1
$ docker-machine ssh myvm1 "docker node ls"

現在集群己經創建完成,如果想要刪除集群,可以使用docker swarm leave在每個節點運行。

在集群上部署應用程序

現在只要重復《Docker分布式應用教程》中使用的過程來部署新的集群,只要記住,只有像myvm1這樣的集群管理器才能執行Docker命令,工人只是干活的。

到目前為止,您已經在docker-machine ssh中包裝了Docker命令來與虛擬機進行通信,另一個選擇是運行docker-machine env <machine>來獲取并運行一個配置當前的命令,以便與虛擬機上的Docker守護進程通信。這個方法更好,因為它允許使用本地docker-compose.yml文件來“遠程”部署應用程序,而不需要將它復制到任何地方。

執行docker-machine env myvm1命令,復制輸出的最后一行提供的命令,然后粘貼并運行該命令,以將終端配置為與集群管理器myvm1對話:

?
1
2
$ docker-machine env myvm1
$ eval $(docker-machine env myvm1)

運行docker-machine ls以驗證myvm1現在是活動的機器,即活動狀態旁邊有星號:

?
1
$ docker-machine ls

現在可以使用myvm1的權限作為集群管理器,通過使用docker stack deploy命令和docker-compose.yml的本地副本來部署應用程序。通過docker-machine命令配置連接到myvm1,仍然可以訪問本地主機上的文件,確保在docker-compose.yml文件同一個目錄下,運行以下命令在myvm1上部署應用程序:

?
1
$ docker stack deploy -c docker-compose.yml getstartedlab

就這樣,應用程序被部署在一個集群上,現在,您可以使用Docker命令看到服務和關聯的容器已經在myvm1和myvm2之間分配了:

?
1
$ docker stack ps getstartedlab

訪問集群

現在可以從myvm1或myvm2的IP地址訪問應用程序,網絡在它們之間共享并負載平衡。運行docker-machine ls來獲取虛擬機的IP地址,并在瀏覽器中訪問其中的任何一個,或使用curl命令訪問。

Docker集群的創建與管理實例詳解

您將看到五個不同的容器ID,它們都是隨機循環的,展示了負載平衡。兩個IP地址工作的原因是集群中的節點參與入口路由網絡,這可以確保部署在群集中某個端口的服務始終將該端口保留給自己,而不管哪個節點實際上正在運行該容器。以下是三節點集群上端口8080上發布一個名為my-web的服務的路由網絡示意圖:

Docker集群的創建與管理實例詳解

可以通過更改docker-compose.yml文件來縮放應用程序,編輯代碼更改應用程序的行為,然后重新構建,然后推送新的鏡像,只需再次運行docker stack deploy來部署這些更改??梢允褂?code>docker swarm join命令將任何物理或虛擬機器加入到此集群,并將容量添加到集群,之后只需運行docker stack deploy部署,應用將利用新的資源。

清理并重新啟動

可以使用docker stack rm清理堆棧,例如:

?
1
$ docker stack rm getstartedlab

可以使用以下命令取消當前終端中的docker-machine環境變量:

?
1
$ eval $(docker-machine env -u)

這會將終端與docker-machine創建的虛擬機斷開連接,并允許繼續在同一個終端中工作。如果關閉本地主機,Docker機器將停止運行,您可以通過運行docker-machine ls來檢查機器的狀態:

?
1
$ docker-machine ls

要重新啟動已停止的機器,可以運行:

?
1
$ docker-machine start <machine-name>

如果你想刪除這個集群,可以使用docker-machine ssh myvm2 "docker swarm leave"命令,或者使用docker-machine ssh myvm1 "docker swarm leave --force"強制刪除。

希望本文所述對大家docker容器的使用有所幫助!

原文鏈接:https://blog.csdn.net/hekaiyou/article/details/79086198

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 国产一级毛片国产 | 视频一区二区不卡 | 亚洲电影免费观看国语版 | 海外中文字幕在线观看 | 国产91av视频| 国产精品久久久久久久亚洲按摩 | 欧美黄色大片免费观看 | 久久精品一二三区白丝高潮 | 一本大道av | 亚洲国产精久久久久久久 | 精品成人国产在线观看男人呻吟 | 成人免费一区二区三区在线观看 | 日韩精品久久久久久 | av日韩一区二区三区 | 国产女同疯狂激烈互摸 | 视频一区二区三区免费观看 | 久久精品亚洲欧美日韩精品中文字幕 | 国产好片无限资源 | 久久污| 国产91九色 | 国产午夜精品一区二区三区免费 | 婷婷久久综合九色综合色多多蜜臀 | 99久久久国产精品免费观看 | 91香焦视频 | 欧美日韩精品不卡一区二区三区 | 一级免费特黄视频 | 日韩黄色免费电影 | 亚洲成年人免费网站 | 九九热免费观看 | 欧美成年人视频在线观看 | 精品国产一区二区久久 | 国产一级毛片国产 | 国产免费久久久久 | 毛片在线免费播放 | 欧洲色阁中文字幕 | 久久久久久久黄色片 | 欧美城网站地址 | 成人在线视频免费 | 午夜精品毛片 | 色97在线| www.99久久久 |