Swarm+Docker+Portainer(集群,圖形化)
參考文章
https://blog.csdn.net/u011781521/article/details/80469804
https://blog.csdn.net/u011781521/article/details/80468985
1,基礎(chǔ)環(huán)境
Docker版本18.03.1-ce
操作系統(tǒng)centos 7.6
swarm版本:docker官方版
關(guān)閉selinux,關(guān)閉防火墻配置IP地址和主機(jī)名
IP主機(jī)名對(duì)應(yīng)關(guān)系,請(qǐng)修改hosts文件和hostname
192.168.197.30 node1
192.168.197.31 node2
如何安裝docker,使用阿里云的鏡像加速本文不在敘述,詳細(xì)請(qǐng)查閱博客docker分類下的文章或者上述的連接
2,修改Docker啟動(dòng)參數(shù)
修改docker的啟動(dòng)參數(shù)(兩個(gè)節(jié)點(diǎn)均操作)
vi /lib/systemd/system/docker.service
加入以下參數(shù)
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
如圖

3,創(chuàng)建Swarm集群
Pull swarm的鏡像(兩個(gè)節(jié)點(diǎn)都做)
docker pull swarm

在node1上創(chuàng)建集群,如下命令
docker swarm init --advertise-addr 192.168.197.30

上面命令執(zhí)行后,該機(jī)器自動(dòng)加入到swarm集群。這個(gè)會(huì)創(chuàng)建一個(gè)集群token,獲取全球唯一的 token,作為集群唯一標(biāo)識(shí)。后續(xù)將其他節(jié)點(diǎn)加入集群都會(huì)用到這個(gè)token值。
其中,--advertise-addr參數(shù)表示其它swarm中的worker節(jié)點(diǎn)使用此ip地址與manager聯(lián)系。命令的輸出包含了其它節(jié)點(diǎn)如何加入集群的命令。
如果根據(jù)提示,在node2上使用docker swarm join --token SWMTKN-1-1br84t8xxtu3h42v7qhcjqbvvk8ix12l7rfh20nwo3ytzm3vok-dagq05je4rnvmcuhe5id251mq 192.168.197.30:2377命令加入集群
docker swarm join --token SWMTKN-1-1br84t8xxtu3h42v7qhcjqbvvk8ix12l7rfh20nwo3ytzm3vok-dagq05je4rnvmcuhe5id251mq 192.168.197.30:2377

查看集群節(jié)點(diǎn)狀態(tài),使用以下命令
docker node list

4,安裝和配置Portainer圖形化界面(僅節(jié)點(diǎn)1操作)
搜索protainer鏡像和下載鏡像
docker search portainer

下載鏡像
docker pull portainer/portainer

單機(jī)版運(yùn)行portainer
如果僅有一個(gè)docker宿主機(jī),則可使用單機(jī)版運(yùn)行,運(yùn)行以下命令就可以啟動(dòng)了:
docker run -d -p 9000:9000 \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
--name prtainer-test \
portainer/portainer
該語句用宿主機(jī)9000端口關(guān)聯(lián)容器中的9000端口,并給容器起名為portainer-test。啟動(dòng)成功后,使用該機(jī)器IP:PORT即可訪問Portainer。
首次登陸需要注冊(cè)用戶,給admin用戶設(shè)置密碼:

單機(jī)版這里選擇local即可

集群版運(yùn)行
在有多臺(tái)Docker的情況下,進(jìn)行集群管理就十分重要了,Portainer也支持集群管理,Portainer可以和Swarm一起來進(jìn)行集群管理操作,Swarm搭建參考上文。
通過以下命令啟動(dòng)
docker run -d -p 9000:9000 --restart=always --name prtainer-test portainer/portainer

選擇remote

登陸后

選擇Endpoints,Add endpoints 然后輸入節(jié)點(diǎn)2的IP地址

輸入節(jié)點(diǎn)2的IP信息即可

返回Home之后就可用管理各個(gè)節(jié)點(diǎn)了