搭建Docker集羣測試環境--swarm、docker-compose、portainer

整體思路分爲四部分html

  第一部分  搭建docker-registry服務器node

  第二部分 搭建docker測試環境redis

  第三部分 搭建dokcer-compose及docker swarm 集羣創建docker

    一、搭建docker-compose 搭建過程見(https://www.cnblogs.com/SongShupengpeng/p/10268365.htmljson

       爲何搭建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網絡

               二、搭建swarm tcp

      ①虛擬機環境是CentOS7的,修改/lib/systemd/system/docker.service這個文件中的參數, 在第一行的後面直接加上:測試

-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

而且用systemctl來管理啓動docker服務。   google

      ②開啓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:目前整理中,稍後更新。。。。

相關文章
相關標籤/搜索