1. 程式人生 > >『高級篇』docker之DockerSwarm微服務部署(30)

『高級篇』docker之DockerSwarm微服務部署(30)

pwd 配置文件 spec 方式 解釋 man www 啟動命令 tps

>原創文章,歡迎轉載。轉載請註明:轉載自IT人故事會,謝謝!
>原文鏈接地址:『高級篇』docker之DockerSwarm微服務部署(30)

如果我想通過域名訪問怎麽辦,而且這三臺主機都有服務。源碼:https://github.com/limingios/msA-docker swarm分支

技術分享圖片

技術分享圖片

技術分享圖片

負載均衡

之前講理論的時候說過負載均衡,對每個服務在每臺主機上都是有負載均衡的,來進行輪詢,每臺主機server01,server02,server03,分別去訪問他們的8080端口,去搭建一個負載均衡,可以用nginx或者apache,這裏使用nginx的方式,畢竟之前使用過nginx。拉取部署完,需要20分鐘,外網確實很慢。

  • 拉取nginx
    docker pull nginx

技術分享圖片

  • 編寫一個nginx配置掛載進去
vi nginx.conf

配置文件

upstream idig88 {
        server 192.168.66.101:8080;
        server 192.168.66.102:8080;
        server 192.168.66.103:8080;
}

server {
        listen  80;
        server_name     www.idig88.com;
        location / {
                proxy_pass http://idig88;
        }
}

啟動命令

docker run -idt -p 80:80 -v `pwd`/nginx.conf:/etc/nginx/conf.d/default.conf nginx

技術分享圖片

配置一個host文件,在主機上 不是server01 server02 server03

sudu vi /etc/hosts

技術分享圖片

技術分享圖片

技術分享圖片

登錄試試

技術分享圖片

技術分享圖片

  • 微服務擴縮容
docker service scale ms_gateway-zuul=3
docker service ps ms-gateway-zuul

技術分享圖片

技術分享圖片

  • 升級某個微服務
docker service update ms_course-edge-service --limit-cpu 0.5
docker service inspect ms_course-edge-service

技術分享圖片

技術分享圖片

總結

  • 以下各節點常規操作命令,比較簡單,就不解釋了
#取消manager
docker node demote [NODE]
docker node inspect [NODE]
docker node ls
# 升級成manager
docker node promote [NODE]
docker node ps [NODE]
docker node rm [NODE]
docker node update [OPTIONS] NODE
  • yml文件這個很復雜,我建議看看官方的文檔更實際一些。

PS:有詳細看看官網的文檔,裏面有非常多樣化的配置,我相信基本可以滿足大家的需求。到這樣docker swarm 也就學完了,相信有個整體的認識吧。另外要說下有2個UI管理docker swarm的工具Portainer和Shipyard。下次開始k8s!

技術分享圖片

『高級篇』docker之DockerSwarm微服務部署(30)