gpt4 book ai didi

networking - 如何将基于主机名的请求转发到特定的 docker 容器

转载 作者:行者123 更新时间:2023-12-02 19:43:00 26 4
gpt4 key购买 nike

我正在尝试使用基于主机名的连接到 docker 容器。即:我将浏览器连接到 web01.docker.example.org(假设 *.docker.example.org 上的通配符 DNS 记录指向我的 docker 框)。例如,如何启用 docker 将此请求转发到我的 nginx docker?

这个想法的灵感来自 apache 的 VirtualNameHost 模型,它执行此操作,除了 VirtualHost 而不是正在运行的容器。

最佳答案

Docker 本身无法做到这一点,但是有一个非常优秀的 project by Jason Wilder使用他自己的自制docker-gen 解决了这个问题实用程序(也可以在他的 Github 帐户上找到)。您可以使用 docker pull jwilder/nginx-proxy 拉取受信任的构建并运行它。然后,你可以很容易地启动另一个容器(你想在 web01.docker.example.org 主机名上监听的那个):
docker run -it -h "web01.docker.example.org" myContainernginx-proxy容器自动检测容器上暴露了哪些端口,并将容器绑定(bind)到该端口上的 nginx 后端。这也是如何让多个容器监听一个 IP 地址,但根据主机名路由到多个容器的方法。该项目还支持 SSL 和自定义 vhost.d 配置文件等。我已经使用它很长时间了,没有任何问题,并为此强烈推荐它。祝你好运!

关于networking - 如何将基于主机名的请求转发到特定的 docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30116910/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com