Traefik不适用于部署在工作节点上的容器(群发)

时间:2019-05-21 02:01:00

标签: docker docker-swarm traefik

我正在以集群模式运行docker。

服务器A是我的经理 服务器B是我的工作人员

我在A上运行了很多容器,只是启动B来帮助处理一些工作量。

问题在于,如果将容器部署在A上,Traefik会将请求路由到它,但是如果容器最终在B上,它将给我错误的网关。

我的traefik堆栈:

version: '3.6'

networks:
  traefik-net:
    driver: overlay
    attachable: true
    external: true
services:
  reverse-proxy:
    image: traefik # The official Traefik docker image
    command: --docker --docker.swarmmode --docker.domain=mydomain.com --docker.watch --api  # Enables the web UI and tells Traefik to listen to docker
    ports:
      - "80:80"     # The HTTP port
      - "8080:8080" # The Web UI (enabled by --api)
      - "443:443"
    networks:
      - traefik-net
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock # So that Traefik can listen 
      - /home/walucas/docker-configs/traefik/traefik.toml:/traefik.toml
      - /home/walucas/docker-configs/traefik/acme.json:/acme.json
    deploy:
      labels:
        traefik.port: 8080
        traefik.frontend.rule: "Host:traefik.mydomain.com"
        traefik.docker.network: traefik-net
      replicas: 1
      placement:
        constraints: [node.role == manager]

我的whoami堆栈:

version: '3.6'

services:
  whoami:
    image: jwilder/whoami
    ports:
      - "8089:8000"
    networks:
      - traefik-net
    deploy:
      replicas: 1
      labels:
        traefik.frontend.rule: "Host:whoami.mydomain.com"
        traefik.port: "8000"
        traefik.docker.network: traefik-net
networks:
  traefik-net:
    driver: overlay
    attachable: true
    external: true

我不确定这是网络问题还是traefik问题。

(注意)服务器B不在服务器A上的另一个物理位置上。

0 个答案:

没有答案