在主机上运行 tailscale 时,Docker macvlan 容器无法访问互联网

在主机上运行 tailscale 时,Docker macvlan 容器无法访问互联网

我需要一个在主机网络中可见的 Docker 容器,它有自己的 ip、ma​​c 和主机名,并通过 avahi 进行宣传。(我想使用线荚无需更改主机上的主机名和其他内容)

我为此创建了一个 Docker 网络,如下所示:

networks:
    wirepod_net:
        driver: macvlan
        driver_opts:
            parent: "enp4s0"
        ipam:
            config:
                - subnet: "192.168.10.0/24"
                  gateway: "192.168.10.1"

并给容器一个相应的ip和mac地址

        mac_address: "9C:EE:7D:1A:0F:E8"
        networks:
            wirepod_net:
                ipv4_address: "192.168.10.11"

这工作得很好并且正如我所希望的那样。

但是我最近在我的主机上安装了 tailscale,并且只要 tailscale 运行,容器就无法访问互联网。

我为此在 Google 上搜索了一段时间,但每个与我的问题相近的问题都只想启用主机 <-> 容器通信。我尝试了这种方法,因为我认为也许这毕竟是同一个问题。但遗憾的是,这并没有帮助我解决“容器无法访问互联网”的问题。(或者我做错了;我不能排除这种可能性……)

这个问题有点超出我的理解范围,因此我很感激得到的每一份帮助。

我仔细阅读并关注了以下帖子:

答案1

所以我发现问题不是互联网连接本身,
而是 DNS 解析。

我通过在 Docker 容器上明确设置 DNS 服务器来解决这个问题

dns:
  - 1.1.1.1
  - 1.0.0.1

服务水平部分。

这解决了我遇到的问题。

相关内容