Traefik可以在固定端口上创建到Docker主机上容器的路由吗?

时间:2019-02-15 21:53:40

标签: docker docker-swarm traefik docker-stack traefik-ingress

假设有两个MariaDB容器在Docker群的同一主机上运行。每个容器具有其内部端口3306,该内部端口3306动态暴露于例如30004和30056。

我希望一个外部容器(未在堆栈中定义)通过主机名和固定端口(例如)访问一个堆栈的数据库。 mariadb_s1:3306(重定向到端口30004上堆栈1的MariaDB),如下图所示。

我们还有一个运行在Docker主机上的Traefik实例。 Traefik有能力创建这些路线吗?

Schematic overview

1 个答案:

答案 0 :(得分:2)

我不认为traefik目前不支持TCP代理,但似乎已经计划https://github.com/containous/traefik/issues/10

但是即使有TCP代理支持,也可能很难基于主机名进行路由,因为我不认为MySQL协议包含主机名(可能是错误的)。如果是这样,一种解决方案可能是使用TLS并基于SNI进行路由。