Базовая конфигурация Traefik для работы в Docker Swarm - PullRequest
0 голосов
/ 22 июня 2019

Из того, что я вижу, это выглядит как это :

docker-traefik.yml:

version: '3'

services:
  traefik:
    image: traefik
    command: --docker   # enable Docker Provider
      # use Docker Swarm Mode as data provider
      --docker.swarmmode
    ports:
      - "80:80"
    volumes:
      # for it to be able to listen to Docker events
      - /var/run/docker.sock:/var/run/docker.sock

docker-whoami.yml:

version: '3'

networks:
  traefik_default:
    external: true

services:
  whoami:
    image: containous/whoami
    networks:
      # add to traefik network
      - traefik_default
    deploy:
      labels:
        # whoami is on port 80
        - "traefik.port=80"
        # whoami is on traefik_default network
        - "traefik.docker.network=traefik_default"
        # when to forward requests to whoami
        - "traefik.frontend.rule=Host:example.com"

Позвольте мне процитировать документацию здесь:

Обязательные надписи:

  • traefik.frontend.rule
  • traefik.port - Без этогожурналы отладки покажут, что эта служба намеренно отфильтрована.
  • traefik.docker.network - без этого может произойти 504.

...

traefik.docker.networkПереопределяет стандартную сеть докеров, используемую для соединений с контейнером.[1]

traefik.port=80 Регистрирует этот порт.Полезно, когда контейнер предоставляет несколько портов.

Но почему он не может просто взять открытые порты со значением по умолчанию traefik.port?И из того, что я вижу, это работает без traefik.docker.network (то есть, если traefik_default является сетью первого сервиса).Когда я получу 504?

1 Ответ

0 голосов
/ 24 июня 2019

Но почему он не может просто использовать открытые порты для значения по умолчанию traefik.port?

Если в вашем контейнере есть 3 или 4 открытых порта, какой трафик использовать?Так кто сказал трафику, какой из этих портов правильный?Так и делаешь - с traefik.port.В чем проблема использования порта по умолчанию для настроенной службы?

U должен отображать 80, 443 и 8080, поэтому 80 и 443 для веб-страниц http / https и 8080 для панели мониторинга traefik.Если вы не хотите использовать панель инструментов, вам не нужно выставлять 8080.

И я не вижу никакой сети, настроенной @ traefik в вашем файле композитора - разве это не должно иметь сети?Ур сервис и трафик должны быть в одной сети.В противном случае traefik не может добраться до вашего сервиса и вперед.

Также где находятся конечные точки?

...