亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

Docker使用Swarm組建集群的方法

2024-09-01 13:53:21
字體:
來源:轉載
供稿:網友

Swarm 在 Docker 1.12 版本之前屬于一個獨立的項目,在 Docker 1.12 版本發布之后,該項目合并到了 Docker 中,成為 Docker 的一個子命令。目前,Swarm 是 Docker 社區提供的唯一一個原生支持 Docker 集群管理的工具。它可以把多個 Docker 主機組成的系統轉換為單一的虛擬 Docker 主機,使得容器可以組成跨主機的子網網絡。

Docker 使用 Swarm 可以很方便的在多個主機上創建容器集群,并且容器之間可以跨主機網絡通信。

Swarm 的集群分為 Manager 節點和 Worker 節點。

Swarm 中使用 Service 來創建/管理使用相同鏡像的多個容器,多個容器同時對外提供服務,多個容器之間負載均衡。每個 Service 有一個浮動IP(VIP),各個容器還有自己的物理IP。創建基于 Swarm 的 Overlay 網絡,將 Service 掛載到此網絡上。然后 Service 中的各個容器便可以通過 Service 名稱和 IP 地址實現網絡互通。

下面使用了三個機器來組建一個Swarm集群

bd0    192.168.0.109
bd1    192.168.0.192
bd2    192.168.0.193

Docker 開啟遠程管理

默認情況下,Docker守護進程會生成一個 /var/run/docker.sock 文件來進行本地進程通信,而不會監聽任何端口,所以默認情況下 Docker 只能在本地使用命令行操作。 如果要在其它機器上遠程操作 Docker 主機,就需要讓 Docker 監聽一個端口,這樣才能實現遠程通信。

在我的 CentOS 7X 上,首先修改 Docker 配置文件 /etc/sysconfig/docker 中的 OPTIONS 參數,添加

-H unix:///var/run/docker.sock -H 0.0.0.0:5555

修改后參數類似

OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false -H unix:///var/run/docker.sock -H 0.0.0.0:5555'

然后重新啟動 Docker 服務

$ sudo systemctl restart docker.service

測試一下

sudo docker -H <HOST>:5555 images

創建 Swarm 集群

獲取 Swarm 鏡像

分別在三個節點上下載swarm鏡像

$ sudo docker pull swarm

初始化Swarm集群

首先在 bd0 節點上初始化 Swarm 集群

$ sudo docker swarm initError response from daemon: could not choose an IP address to advertise since this system has multiple addresses on different interfaces (192.168.0.109 on eth0 and 192.168.122.1 on virbr0) - specify one with --advertise-addr

第一次創建失敗了,原因是我的機器有兩塊網卡,Swarm不知道要用那塊網卡組建集群,所以需要使用 --advertise-addr 來指定使用那塊網卡。

$ sudo docker swarm init --advertise-addr 192.168.0.109Swarm initialized: current node (1egy2ark49q6xokudps5wykhn) is now a manager.To add a worker to this swarm, run the following command:  docker swarm join /  --token SWMTKN-1-0x11m2uk7ps9bh7nflkxwirgv0syvacl18rut3hilz4i9lgis3-d9m22hixt0b57hjj81im8bqdl /  192.168.0.109:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

然后分別在 bd1 和 bd2 節點上運行下面命令將機器加入集群

$ sudo docker swarm join / --token SWMTKN-1-0x11m2uk7ps9bh7nflkxwirgv0syvacl18rut3hilz4i9lgis3-d9m22hixt0b57hjj81im8bqdl / 192.168.0.109:2377

This node joined a swarm as a worker.

下面查看一下集群節點信息

$ sudo docker node lsID              HOSTNAME STATUS AVAILABILITY MANAGER STATUS11ochjq4o1s2m6w4u8jxb37w6  bd1    Ready  Active1egy2ark49q6xokudps5wykhn * bd0    Ready  Active    Leaderb4e2ywnhhd6fhgfxtr1qh4gew  bd2    Ready  Active

創建集群跨主機網絡

首先查看一下集群網絡

$ sudo docker network lsNETWORK ID     NAME        DRIVER       SCOPE36679de6466b    bridge       bridge       local72e853673d8b    docker_gwbridge   bridge       localb45cef05e017    host        host        local1zzlk9hpwyqy    ingress       overlay       swarm

添加一個Swarm網絡

$ sudo docker network create --driver overlay myswarma04evrfrr4cvnbvrummzvg0mn

創建后,查看一下集群網絡

$ sudo docker network lsNETWORK ID     NAME        DRIVER       SCOPE36679de6466b    bridge       bridge       local72e853673d8b    docker_gwbridge   bridge       localb45cef05e017    host        host        local1zzlk9hpwyqy    ingress       overlay       swarma04evrfrr4cv    myswarm       overlay       swarm

部署服務

這里使用 nginx 服務來演示一下怎樣創建一個服務集群。

下載nginx鏡像

$ sudo docker pull nginx

創建服務

$ sudo docker service create --replicas 2 --name mynginx -p 8000:80 --network=myswarm nginx5xrm96xveqw5gq63srts1rbhw

這里創建了需要兩個 nginx 實例的 nginx 服務。同時,為了能被外網地址訪問,我們做了一下端口映射,映射到物理主機的8000端口。

查看服務

$ sudo docker service lsID      NAME   REPLICAS IMAGE COMMAND5xrm96xveqw5 mynginx 2/2    nginx$ sudo docker service ps mynginxID             NAME    IMAGE NODE   DESIRED STATE CURRENT STATE      ERROR1crmc5ecsjoci8xavxzbnbks3 mynginx.1 nginx bd0   Running    Running 23 seconds agodivhrq89xhxka8bvb8r9zqqhz mynginx.2 nginx bd2   Running    Running 20 seconds ago$ sudo docker service inspect mynginx..."VirtualIPs": [  {    "NetworkID": "1zzlk9hpwyqyocloxy9j9vct7",    "Addr": "10.255.0.6/16"  },  {    "NetworkID": "a04evrfrr4cvnbvrummzvg0mn",    "Addr": "10.0.0.2/24"  }]...

在bd0上查看

$ sudo docker psCONTAINER ID    IMAGE        COMMAND         CREATED       STATUS       PORTS        NAMESe480d427fd51    nginx:latest    "nginx -g 'daemon off"  41 seconds ago   Up 40 seconds    80/tcp       mynginx.1.1crmc5ecsjoci8xavxzbnbks3

在bd2上查看

$ sudo docker psCONTAINER ID    IMAGE        COMMAND         CREATED       STATUS       PORTS        NAMESc12d4f9eb457    nginx:latest    "nginx -g 'daemon off"  56 seconds ago   Up 52 seconds    80/tcp       mynginx.2.divhrq89xhxka8bvb8r9zqqhz

服務已經創建并啟動了,下面我們在瀏覽器訪問 http://bd0:8000 來驗證一下 nginx 服務的狀態。

服務的Failover

首先我們查看一下當前服務的狀態

$ sudo docker service ps mynginxID             NAME    IMAGE NODE   DESIRED STATE CURRENT STATE      ERROR1crmc5ecsjoci8xavxzbnbks3 mynginx.1 nginx bd0   Running    Running 23 seconds agodivhrq89xhxka8bvb8r9zqqhz mynginx.2 nginx bd2   Running    Running 20 seconds ago

然后在 bd2 上將其上的服務停止

$ sudo docker kill mynginx.2.divhrq89xhxka8bvb8r9zqqhzmynginx.2.divhrq89xhxka8bvb8r9zqqhz

再次觀察服務狀態,如下:

$ sudo docker service ps mynginxID             NAME      IMAGE NODE   DESIRED STATE CURRENT STATE      ERROR1crmc5ecsjoci8xavxzbnbks3 mynginx.1   nginx bd0   Running    Running 6 minutes agobr5iyie0dr945ixnq7s77kunr mynginx.2   nginx bd1   Running    Running 4 seconds agodivhrq89xhxka8bvb8r9zqqhz  /_ mynginx.2 nginx bd2   Shutdown    Failed 5 seconds ago   "task: non-zero exit (137)"

可以看到在 bd1 上又起了一個實例用來接替原來在 bd2 上的實例。

服務的擴容/縮容

增加服務實例

$ sudo docker service scale mynginx=3mynginx scaled to 3$ sudo docker service ps mynginxID             NAME      IMAGE NODE   DESIRED STATE CURRENT STATE        ERROR1crmc5ecsjoci8xavxzbnbks3 mynginx.1   nginx bd0   Running    Running 7 minutes agobr5iyie0dr945ixnq7s77kunr mynginx.2   nginx bd1   Running    Running about a minute agodivhrq89xhxka8bvb8r9zqqhz  /_ mynginx.2 nginx bd2   Shutdown    Failed about a minute ago  "task: non-zero exit (137)"985tln0aprsvjthjpve0n6qmz mynginx.3   nginx bd2   Running    Preparing 3 seconds ago

減少服務實例

$ sudo docker service scale mynginx=2mynginx scaled to 2$ sudo docker service ps mynginxID             NAME      IMAGE NODE   DESIRED STATE CURRENT STATE          ERROR1crmc5ecsjoci8xavxzbnbks3 mynginx.1   nginx bd0   Running    Running 7 minutes agobr5iyie0dr945ixnq7s77kunr mynginx.2   nginx bd1   Shutdown    Shutdown less than a second agodivhrq89xhxka8bvb8r9zqqhz  /_ mynginx.2 nginx bd2   Shutdown    Failed about a minute ago    "task: non-zero exit (137)"985tln0aprsvjthjpve0n6qmz mynginx.3   nginx bd2   Running    Running 5 seconds ago

刪除服務

$ sudo docker service rm mynginx

總結

以上所述是小編給大家介紹的Docker使用Swarm組建集群的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产午夜精品美女视频明星a级| 日韩影视在线观看| 久久久久久伊人| 欧美日韩久久久久| 色婷婷综合久久久久| 亚洲国产精品一区二区三区| 97久久精品国产| 国产一区二区三区日韩欧美| 日韩激情视频在线播放| 成人午夜在线视频一区| 国产精品嫩草影院一区二区| 自拍亚洲一区欧美另类| 成人网在线免费观看| 中国人与牲禽动交精品| 欧美乱大交xxxxx另类电影| 国产精品成人aaaaa网站| 亚洲综合视频1区| 亚洲黄色av网站| 国产成人啪精品视频免费网| 亚洲另类欧美自拍| 国产999精品久久久影片官网| 国产精品久久久久久久久久久久久久| 国产精品久久久久一区二区| 91干在线观看| 国产精品免费在线免费| 色综合久久88色综合天天看泰| 国产精品自拍视频| 国产精品揄拍一区二区| 国产精品久久久久久一区二区| 国产成人综合精品| 欧美高清理论片| 亚洲淫片在线视频| 美女啪啪无遮挡免费久久网站| 成人激情电影一区二区| 4438全国成人免费| 亚洲免费av网址| 成人欧美一区二区三区在线| 欧美中文字幕视频在线观看| 国产一区二区三区丝袜| 国产精品丝袜视频| 日韩女优人人人人射在线视频| 亚洲精品资源美女情侣酒店| 精品亚洲永久免费精品| 日韩av中文字幕在线| 久久亚洲一区二区三区四区五区高| 亚洲xxxx在线| 欧美在线视频免费观看| 欧美日韩中文字幕日韩欧美| 成人女保姆的销魂服务| 亚洲精品国产欧美| 91国语精品自产拍在线观看性色| 久久在精品线影院精品国产| 日韩中文视频免费在线观看| 免费不卡欧美自拍视频| 成人444kkkk在线观看| 最新亚洲国产精品| 日韩视频在线观看免费| 色诱女教师一区二区三区| 国产精品老女人视频| 久久精品视频免费播放| 日韩视频免费观看| 92裸体在线视频网站| 久久99久久99精品免观看粉嫩| 中文字幕亚洲欧美| 亚洲最大av网| 亚洲va欧美va国产综合久久| 亚洲欧美国产一本综合首页| 国产精品美女久久久免费| 亚洲男人天堂手机在线| 中文字幕精品久久久久| 国产在线视频91| 欧美精品久久久久久久久| 亚洲一二三在线| 成人精品视频99在线观看免费| 最近2019年手机中文字幕| 久久九九免费视频| 高清欧美性猛交xxxx黑人猛交| 国产91在线播放| 97精品一区二区视频在线观看| 国产成人av在线| 欧美亚洲视频在线观看| 最新日韩中文字幕| 国产成人精品免高潮在线观看| 亚洲男人的天堂在线| 精品久久久久久久久久久久久| 日本一欧美一欧美一亚洲视频| 成人免费在线视频网址| 日韩天堂在线视频| 亚洲精品小视频在线观看| 久久噜噜噜精品国产亚洲综合| 国产国语videosex另类| 欧美性xxxx18| 性欧美xxxx视频在线观看| 亚洲自拍偷拍色片视频| 亚洲另类欧美自拍| 亚洲一区二区久久久久久久| 亚洲第一福利网| 国产香蕉精品视频一区二区三区| 亚洲色图综合久久| 2019中文字幕免费视频| 亚洲国产99精品国自产| 亚洲人午夜色婷婷| 中文字幕九色91在线| 668精品在线视频| 国产精品av在线| 国内自拍欧美激情| 国产不卡视频在线| 午夜精品久久久久久久99热浪潮| 2021国产精品视频| 欧美日韩国产91| 亚洲精品国产综合区久久久久久久| 久久视频在线观看免费| 国产精品wwww| 欧美视频一二三| 国产精品视频不卡| 午夜精品一区二区三区av| 亚洲直播在线一区| 岛国视频午夜一区免费在线观看| 91精品久久久久久久久中文字幕| 日韩美女视频在线观看| 亚洲91精品在线观看| 精品免费在线视频| 亚洲欧洲日本专区| 日韩激情视频在线| 国产精品美腿一区在线看| 亚洲第一视频网| 欧美日韩亚洲视频一区| 亚洲国产精品字幕| 国产91精品久久久| 68精品国产免费久久久久久婷婷| 国产精品亚洲激情| 欧美—级a级欧美特级ar全黄| 国产综合香蕉五月婷在线| 国产精品com| 一区二区三区美女xx视频| 亚洲精品国精品久久99热| 国产精品成人一区二区三区吃奶| 黑人狂躁日本妞一区二区三区| 国产精品观看在线亚洲人成网| 91国产精品91| 欧美日韩一二三四五区| 中国china体内裑精亚洲片| 97视频在线观看亚洲| 欧美激情a∨在线视频播放| 欧美激情极品视频| 欧美国产日韩一区二区三区| 国产剧情久久久久久| 91久久精品久久国产性色也91| 亚洲成人精品在线| 日韩中文字幕网| 亚洲国产精品女人久久久| 8090理伦午夜在线电影| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产一区二区丝袜| 久久国产一区二区三区| 国产精品免费观看在线| 97av在线影院| 国产主播在线一区| 国产日产欧美精品| 国产精品欧美日韩一区二区| 亚洲国产成人久久综合一区| 欧美精品第一页在线播放| 国产免费一区二区三区香蕉精| 亚洲欧洲激情在线|