如何为 Docker 容器分配外部 DNS 名称

如何为 Docker 容器分配外部 DNS 名称

如何将 DNS 名称直接分配给我的 Docker 容器?这是一个相当宽泛的问题,为了避免 X/Y 问题 - 我将尝试解释我所做的事情,但请随意建议另一种方法。

现在我的想法是在我的解析器中创建 DNS 名称,并将它们路由到每个容器专用的 IP。许多容器会有重叠的端口,因此我一直在尝试使用驱动程序macvlan为它们分配单独的 IP 地址。这些 IP 地址仅连接到容器的网络接口。我的一些努力显示在此 Reddit 帖子- 但到目前为止,使用时我还没有成功地将路由引入或引出容器macvlan

是否有推荐的方法只拥有一个 Docker 主机,并将端口 80/443(或其他常用端口)上的多个服务路由到one.example.com等等two.example.com

答案1

经过进一步调查,我发现了这个问题的解决方案。具体来说,我使用的是较旧的指南,但未macvlan提及必须在网络适配器上启用混杂模式。最新指南确实提到了这一点。事实证明,这完美地解决了我的问题 - 所有服务都有自己的 IP,然后我可以将其分配给解析器中的 DNS 条目。

相关内容