1、建立單節點的Docker Swarm集羣node
docker swarm initnginx
2、在Swarm集羣中建立一個網絡web
docker network create --driver=overlay traefik --attachabledocker
3、在Swarm集羣中部署traefik負載均衡器服務瀏覽器
docker service create \網絡
--name traefik \負載均衡
--constraint=node.role==manager \frontend
--publish 80:80 --publish 8080:8080 \dom
--mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock \ide
--network traefik \
traefik \
--docker \
--docker.swarmmode \
--docker.domain=traefik \
--docker.watch \
--web
4、在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
5、在瀏覽器中經過域名訪問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
6、Swarm集羣中服務擴容後,再查看Traefik UI
docker service scale httpd=2
docker service scale nginx=3
http://192.168.3.168:8080
附圖:
參考連接:
docker swarm模式使用traefik部署服務
https://blog.51cto.com/6764097/2066670
Docker Swarm (mode) cluster
http://docs.traefik.cn/user-guide/swarm-mode