Docker Swarm叢集中部署Traefik負載均衡器
一、建立單節點的Docker Swarm叢集
docker swarm init
二、在Swarm叢集中建立一個網路
docker network create --driver=overlay traefik --attachable
三、在Swarm叢集中部署traefik負載均衡器服務
docker service create \
--name traefik \
--constraint=node.role==manager \
--publish 80:80 --publish 8080:8080 \
--mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock \
--network traefik \
traefik \
--docker \
--docker.swarmmode \
--docker.domain=traefik \
--docker.watch \
--web
四、在Swarm叢集中分別部署2個容器服務(httpd和nginx)
#2.1 httpd.abc.com
docker service create \
--name httpd \
--network traefik \
--label "traefik.backend=httpd" \
--label "traefik.enable=true" \
--label "traefik.protocol=http" \
--label "traefik.port=80" \
--label "traefik.frontend.rule=Host:httpd.abc.com" \
httpd
#2.2 nginx.abc.com
docker service create \
--name nginx \
--network traefik \
--label "traefik.backend=nginx" \
--label "traefik.enable=true" \
--label "traefik.protocol=http" \
--label "traefik.port=80" \
--label "traefik.frontend.rule=Host:nginx.abc.com" \
nginx
五、在瀏覽器中通過域名訪問2個網站、檢視Traefik UI
#修改Win7客戶端電腦的hosts檔案C:\Windows\System32\drivers\etc\hosts
#增加2條主機記錄:
httpd.abc.com 192.168.3.168
nginx.abc.com 192.168.3.168
http://192.168.3.168:8080
http://httpd.abc.com
http://nginx.abc.com
六、Swarm叢集中服務擴容後,再檢視Traefik UI
docker service scale httpd=2
docker service scale nginx=3
http://192.168.3.168:8080
附圖:
參考連結:
docker swarm模式使用traefik部署服務
http://blog.51cto.com/6764097/2066670
Docker Swarm (mode) cluster
http://docs.traefik.cn/user-guide/swarm-mode