【问题标题】:How to set up subdomains with traefik and docker in a local network?如何在本地网络中使用 traefik 和 docker 设置子域?
【发布时间】:2021-04-25 22:29:56
【问题描述】:

我有一个树莓派插入我的家庭路由器,运行 Ubuntu 20.04 和 Docker。 我给它一个固定的ip,它在本地网络中的主机名是raspy.local。我可以通过 raspy.local:<portnumber> 访问 docker 容器。

我想做的是让 docker 容器可以通过子域访问,例如 influxdb.raspy.localtraefik.raspy.local 等。唯一有效的解决方案是将 traefik 作为 docker 容器运行,设置 Host(`<subdomain>.raspy.local`) 规则并编辑我笔记本电脑上的/etc/hosts 文件,以便子域指向树莓派的IP 地址。

这是一个糟糕的解决方案,因为我每次进行更改时都必须编辑 /etc/hosts 文件,而且无论如何这不能在我网络上的所有设备上完成(例如,我不能在智能手机上进行)。

正确的做法是什么?

(我在 SO 上找到了其他类似的问题,但我没有找到有关如何在本地网络中执行此操作的信息)

【问题讨论】:

    标签: docker networking docker-compose traefik


    【解决方案1】:

    您需要设置本地 DNS 服务器:

    1. 在您的 RPi 上设置一个静态 IP 并在其中安装 PiHole。
    2. 在 PiHole DNS 配置中为您想要的每个子域设置一条 A 记录,指向运行 Traefik 的设备的 IP(在您的情况下使用相同的 RPi)(例如:A subdomain.raspy.local -> 192.168.0 .xxx)
    3. 将主路由器 DNS IP 地址设置为 PiHole 服务器的地址。

    现在每个连接到路由器的设备都将能够使用域名访问 Traefik 服务器。

    #30daysofstackoverflow

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多