準備好多臺已經安裝好docker的機器,沒有安裝好docker的能夠參考個人另外一篇關於docker安裝文檔https://my.oschina.net/qbj/blog/3077245node
1. 選擇manager節點,並建立集羣docker
隨便選擇一臺機器做爲manager節點,在機器上運行:json
docker swarm init --advertise-addr 當前機器的IP地址
運行完畢以後,出現以下狀況表明成功,並複製紅色區域中的命令留有待用:vim
注:紅色區域中的token是集羣惟一標識,後續的其它節點機器,都須要經過紅色區域中的命令來加入當前集羣。bash
2. 添加集羣節點網絡
複製上一步驟中的紅色區域中的內容在其它節點機器上執行,運行成功會提示以下信息:tcp
This node joined a swarm as a worker.
全部節點加入完畢以後,能夠在主節點上運行以下命令查看節點狀況:工具
docker node ls
4. 部署Portainerspa
Portainer 爲你的docker swarm集羣以及docker服務提供了可視化管理。能夠管理docker的堆棧,docker的網絡,docker服務,docker鏡像,docker容器等等,一切靠命令方式執行的均可以去經過Portainer去在界面上去操做管理。.net
a. 準備docker-stack-manager.yml配置文件
version: "3.2" services: #docker集羣可視化工具 portainer: image: portainer/portainer hostname: portainer ports: - "9000:9000" volumes: - "/var/run/docker.sock:/var/run/docker.sock" - "/data/portainer:/data" deploy: replicas: 1 placement: constraints: [node.role == manager] resources: limits: # cpus: '1' memory: 1GB reservations: # cpus: '0.2' memory: 512MB
b. 建立文件目錄
mkdir -p /data/portainer/ chmod -R 777 /data/portainer/
c. 執行docker-stack-manager.yml文件
docker stack deploy -c docker-stack-manager.yml manager --resolve-image=never
注意:命令必須在docker-stack-manager.yml同目錄下執行。執行完畢以後,請稍等片刻,安裝須要花費點時間,能夠經過在manager上執行如下命令來查看安裝進度:
docker service ls
d. 訪問界面地址 http://集羣IP:9000
e. 開始配置帳號密碼
f.配置manager節點主機的信息
注意: Name -- 隨便寫;Endpoint URL -- manager節點的IP:2375; 端口2375是默認端口。若是添加失敗,能夠嘗試以下方法:
執行命令
vim /lib/systemd/system/docker.service
在ExecStart加入:
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
重啓dokcer
systemctl daemon-reload systemctl restart docker
5. 在各個節點配置私服鏡像倉庫
在各個節點上私服鏡像倉庫地址
vim /etc/docker/daemon.json
若是已存在daemon.json,請在原來的基礎上加便可,若是有多個,以逗號隔開。配置以下:
{ "insecure-registries": ["私服IP地址1:私服端口","私服IP地址2:私服端口"], "registry-mirrors": ["https://registry.docker-cn.com"] }
重啓docker服務
systemctl daemon-reload systemctl restart docker
驗證是否成功:
docker info
出現以下顯示,即表示成功
注意:每一個節點都要按照上述步驟去配置
6.完成第5步以後,須要登陸到Portainer,配置私服鏡像倉庫信息
點擊左側菜單「registries」,點擊」Add registry「,選擇」custom registry「,輸入私服鏡像倉庫信息,有多個,就添加屢次
到此,docker swarm集羣搭建已經完成。