『高級篇』docker之DockerSwarm微服務部署(30)
阿新 • • 發佈:2019-02-16
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)