Может ли Traefik создавать маршруты с фиксированными портами к контейнерам на хосте Docker?

Допустим, есть два контейнера MariaDB, запущенных на одном хосте роя Docker. Каждый контейнер имеет свой внутренний порт 3306, который динамически доступен, например. 30004 и 30056.

Я бы хотел, чтобы внешний контейнер (не определенный в стеке) имел доступ к базе данных одного стека по имени хоста и фиксированному порту, например mariadb_s1:3306 (перенаправлен на MariaDB стека 1 на порт 30004), как показано на следующем рисунке.

У нас также есть экземпляр Traefik, работающий на хосте Docker. Может ли Traefik создавать эти маршруты?

Обзор схемы


person Robert Strauch    schedule 15.02.2019    source источник


Ответы (1)


Я не думаю, что на данный момент traefik поддерживает TCP-проксирование, но, похоже, это запланировано https://github.com/containous/traefik/issues/10

Но даже с поддержкой TCP-прокси может быть сложно выполнить маршрутизацию на основе имени хоста, так как я не думаю, что протокол MySQL включает имя хоста (может быть ошибочным). Если это так, одним из решений может быть использование TLS и маршрутизации на основе SNI.

person Mattias Wadman    schedule 15.02.2019