【问题标题】:Can't access local docker container when using VPN使用 VPN 时无法访问本地 docker 容器
【发布时间】:2022-01-10 13:41:18
【问题描述】:

我有几个 docker 容器在我的本地机器上运行(pgadmin、jupyter 笔记本等),并将它们映射到各种端口。例如,我可以愉快地导航到 localhost:10100 以访问 pgadmin Web 界面。问题是当我连接到工作 VPN 时,我无法访问任何本地运行的容器。我在 chrome 上收到“ERR_CONNECTION_RESET”错误。

我尝试过启用 VPN:

  • localhost:10100(也试过127.0.0.1)
  • 我的主机名:10100
  • 192.168.0.X:10100(wifi接口地址)
  • 192.168.19.X:10100(VPN TUN接口地址)

当 VPN 被禁用时,我可以 ping 任何上述地址并获得响应,并且可以成功使用它们。如果有帮助,请使用 PulseVPN、Ubuntu 21.10 和相当新的 docker/docker-compose。

【问题讨论】:

    标签: docker networking vpn


    【解决方案1】:

    您可以尝试通过添加标志来使用主机网络运行容器:

    --网络主机

    到您第一次启动容器时的每个命令的末尾。 如果这不起作用,您可以尝试:

    --网络无

    【讨论】:

    • 为容器提供扩展的网络权限并不是一个坏主意。我不确定禁用容器的所有网络会有什么帮助
    【解决方案2】:

    事实证明,这是导致问题的各种问题的组合。我还没有找到防弹解决方案,但这里有一些其他人的面包屑:

    • 默认 docker 网络子网重叠 with my work subnet
    • VPN 路由设置为have the lowest cost,因此所有流量都通过它路由。
    • 更改默认子网导致容器工作大约 5 分钟。然后发现了低成本路由,我的流量反而通过了那里。

    我的猜测是我必须摆弄我的网络路由,以便将 docker 网络与工作 VPN 分开。自从我的 CCNA 以来已经十年了,所以我不记得如何临时做到这一点......

    【讨论】:

      猜你喜欢
      • 2021-02-08
      • 2021-04-07
      • 2021-05-22
      • 2017-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-22
      相关资源
      最近更新 更多