Переопределение правила внешнего интерфейса traefik по умолчанию при использовании с docker compose

По умолчанию Traefik создает правило внешнего интерфейса для только что запущенных контейнеров докеров:

https://docs.traefik.io/configuration/backends/docker/

traefik.frontend.rule = EXPR | Переопределяет правило внешнего интерфейса по умолчанию. По умолчанию: Host: {containerName}. {Domain} или Host: {service}. {Project_name}. {Domain}, если вы используете docker-compose.

Я использую docker-compose, и это поведение по умолчанию мне бесполезно. Я хочу использовать ярлык докера и изменить правило внешнего интерфейса на Host:{hostname}.{domain} или даже на значение по умолчанию без составления {containerName}.{domain}, но это не работает. Метка не анализируется. Правило заканчивается буквальной строкой метки.

Я не понимаю документацию. Что именно означает EXPR в traefik.frontend.rule=EXPR?


person Morgus Lethe    schedule 17.10.2018    source источник


Ответы (1)


{hostname} и {domain} просто показывают, что по умолчанию будут использоваться значения из докера. К сожалению, он не выполняет замену глобальных значений, как это могло бы показаться в соответствии с тем, как это написано.

EXPR будет любым выражением правила traefik, например "Host: myapp.example.com". Дополнительные примеры можно увидеть в документации здесь: https://docs.traefik.io/basics/#examples

person qhartman    schedule 07.11.2018