總體思路分為四部分
第一部分 搭建docker-registry服務器
第二部分 搭建docker測試環境
第三部分 搭建dokcer-compose及docker swarm 集群建立
1、搭建docker-compose 搭建過程見(https://www.cnblogs.com/SongShupengpeng/p/10268365.html)
為什么搭建docker-compose呢?我個人覺得通過docker swarm 來創建集群在創建容器時需要docker service create -d -p -v 等等一系列參數,這樣會導致維護不方便,此時引入docker-compos會使用docker-compose.yml文件。在創建Containers時可以通過 docker stack -c docker-compose.yml來解決,大部分參數可配置進去而且便於維護
ps:docker-compose.yml文件使用version: '3' 以上,docker 版本不要太低,否則不支持自帶的swarm
2、搭建swarm
①虛擬機環境是CentOS7的,修改/lib/systemd/system/docker.service這個文件中的參數, 在第一行的后面直接加上:
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
並且用systemctl來管理啟動docker服務。
②開啟swarm模式(此服務器命名為:A)
docker swarm init --advertise-addr ip --advertise-addr 對外暴露的ip地址 (關閉為:docker swarm leave --force )執行后如下(大概就是說node 服務器怎么加入):
③准備另一台機器(此服務器命名為B)同樣開啟swarm模式,然后執行A的node加入的命令如果忘記了可以在A執行如下命令
A服務器執行: docker swarm join-token worker 去B服務器執行:docker swarm join --token SWMTKN-1-5crvsopmfdpnfz6ea1zlep2tw52nwnoeh8m3gukg34abzqqhcg-b6chuy40td8dvmtn6d8jx24ow 10.150.20.137:2377
呃呃呃:。。遇到了問題,Error response from daemon: error while validating Root CA Certificate: x509: certificate has expired or is not yet valid 原因可能為兩個服務器時間不同步,需同步時間(ntpdate cn.pool.ntp.org)然后再執行,會看到執行成功
④去A機器查看 docker node ls
⑤開始測試看看情況
docker stack deploy -c ./docker-compose.yml 別名 這個時候會將兩個node節點的服務器都啟動 docker-compose.yml文件中的容器
准備一個radis鏡像作為測試對象 可以看到兩台服務器上都已經構建了redis容器(未完待續。。。)
ps:退出swarm集群用的命令是docker swarm leave,然而存在這樣一種情況:沒有完全退出swarm集群時就關掉了Docker服務。隨后網絡環境變化了(主機的IP變了)。此時若再systemctl start docker將會報錯,通過systemctl status docker -l可以查看完整的報錯信息,提示找不到老IP地址雲雲。其實這是啟動swarm時報的錯誤。google了一下之后,發現比較方便的解決辦法是手動修改/var/lib/docker/swarm下面的docker-state.json和state.json兩個文件。把這兩個json文件中原來的老地址都改成現在的新地址。應該就可以順利啟動了。
第四部分 可視化頁面管理
可視化管理比較簡單,在做完上邊的配置后在本地啟動一個portainer,portainer功能個人感覺比較強大(其他沒用過 ̄□ ̄||)使用比較方便,可以集群管理、查看日志、進入命令行模式等,具體操作如下:
第一步、下載鏡像 docker pull portainer/portainer 第二步、啟動這個容器 docker run -d -p 9000:9000 -v /var/portainer/data:/data/houbank/data --restart=always portainer/portainer 第三步、登錄測試地址ip xx.xx.xx.x:9000 設置管理密碼 第四步、配置swarm地址即ip:2375自己起一個別名就可以了,下圖為已經添加過的,新加頁面;基本類似

配置完成后基本能看到對應信息如下圖(標記位置為切換視圖,查看集群的信息):
ps:目前整理中,稍后更新。。。。