繁体   English   中英

使用VPN时无法访问本地docker容器

[英]Can't access local docker container when using VPN

我有几个 docker 容器在我的本地机器(pgadmin、jupyter notebooks 等)上运行,并将它们映射到各种端口。 例如,我可以愉快地导航到 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接口地址)

我可以 ping 上述任何地址并得到响应,并且可以在禁用 VPN 时成功使用它们。 使用 PulseVPN、Ubuntu 21.10,如果有帮助,还可以使用最近的 docker/docker-compose。

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

--网络主机

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

--网络无

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

  • 默认的 docker.network su.net 与我的工作 su.net重叠。
  • VPN 路由设置为成本最低,因此所有流量都通过它路由。
  • 更改默认的 su.net 会导致容器工作大约 5 分钟。 然后发现了低成本路由,我的流量反而从那里经过。

我的猜测是我必须摆弄 my.network 路由,以便 docker.networks 与工作 VPN 分开。 我的 CCNA 已经十年了,所以我不记得如何做到这一点......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM