centos7 部署 docker swarm

===============================================html

 2019/4/9_第3次修改                       ccb_warlockdocker

 

更新說明:shell

2019/4/9:從新整理了docker swarm的部署步驟json

2018/12/14:精簡docker-compose部署的命令;vim

                     增長18.09.0-ce之後的hosts(2.3 配置hosts信息)配置方法;centos

===============================================tcp

因爲k8s的方案被擱置了,目前只能先考慮使用swarm搭建小規模的集羣。通過幾天對swarm的使用,對於與docker相關的docker-compose、service、stack相關內容有了更明確的理解。對比swarm與k8s也是各有千秋。ide

 

2019/4/9,從新整理了swarm的部署順序,將docker的安裝部分拆分到centos7 部署 docker ce,根據節點類型分別整理了部署步驟。post

 


1、準備工做

1.1 修改主機名(能夠不修改)

爲了便於區分節點,用主機名來標記節點
manager節點執行:url

hostnamectl --static set-hostname manager01

 

worker節點執行:

hostnamectl --static set-hostname worker01

 

修改完後,從新開shell控制檯。

 


2、管理節點(Manager)

2.1 安裝docker ce

能夠參考下面的文章安裝docker ce

centos7 部署 docker ce:http://www.javashuo.com/article/p-sfmgnggs-ee.html

 

2.2 配置hosts信息

2.2.1 18.06.1-ce及之前版本 

# 修改docker daemon配置

mkdir -p /etc/docker
vim /etc/docker/daemon.json

增長hosts的內容,wq保存。

{
   "hosts": ["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"]
}

 

2.2.2 18.09.0-ce及之後版本 

systemctl edit docker

 將下面的內容添加到文件(/etc/systemd/system/docker.service.d/override.conf)中,wq保存。

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375

 

# 從新加載systemctl的配置

systemctl daemon-reload

 

2.3 重啓docker

systemctl restart docker

 

2.4 建立swarm集羣

# 初始化swarm集羣(我使用的虛擬機IP爲192.168.12.11)

docker swarm init

 

# 建立集羣(當宿主機有多個IP時,須要指定IP)

docker swarm init --advertise-addr 192.168.12.11

建立後,該節點爲manager節點(leader)。

 

若是須要添加其餘管理節點,可使用下面的命令查看做爲管理節點加入集羣的命令。

docker swarm join-token manager 

 


3、工做節點(Worker)

3.1 安裝docker ce

能夠參考下面的文章安裝docker ce

centos7 部署 docker ce:http://www.javashuo.com/article/p-sfmgnggs-ee.html

 

3.2 配置hosts信息

3.2.1 18.06.1-ce及之前版本

# 修改docker daemon配置

mkdir -p /etc/docker
vim /etc/docker/daemon.json

增長hosts的內容,wq保存。

{
   "hosts": ["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"] }

 

3.2.2 18.09.0-ce及之後版本

systemctl edit docker

 將下面的內容添加到文件(/etc/systemd/system/docker.service.d/override.conf)中,wq保存。

[Service]
ExecStart= ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375

 

# 從新加載systemctl的配置

systemctl daemon-reload

 

3.3 重啓docker

systemctl restart docker 

 

3.4 將該工做節點添加到swarm集羣中

# 查看做爲工做節點接入集羣的命令

docker swarm join-token worker

 

# 將本身註冊到該集羣(192.168.12.11)

docker swarm join --token SWMTKN-1-1w1q09p1z37n4j24usz9lwb0i01t2ecuxn4ad5ctfdpks4270r-5p5mmiw6u77skwd49sxovztxc 192.168.12.11:2377

PS.命令中的token信息根據實際狀況更換。

  


參考資料:

1.https://stackoverflow.com/questions/51923078/unable-to-start-the-docker-daemon-if-file-etc-docker-daemon-json-exist

2.https://docs.docker.com/engine/reference/commandline/dockerd/

相關文章
相關標籤/搜索