在一个容器中,我正在尝试(没有成功)连接到可通过VPN隧道访问的远程服务器中托管的服务 . VPN客户端正在容器的主机中运行 .

对该服务器的IP的ping命令可以从主机运行,但不能从容器运行 .

到目前为止,我设法解决这个问题的唯一方法是使用--network host参数运行容器 .

不幸的是,这不是一个令人满意的解决方案,因为容器需要与其他容器通信,优选地通过它们的主机名而不是IP . 因此,这些容器位于docker网络中,此容器也应该是 .

如果容器属于主机网络,则无法将该容器与其他网络关联,因为我得到:

来自守护程序的错误响应:与另一个容器或主机的容器共享网络命名空间无法连接到任何其他网络

这是主机的路由表:

当我将它添加到--network host时,这是容器的路由表:

最后,当我将它添加到--network staging而不是host时,这是容器的路由表:

尝试了一切,但仍然没有解决这个问题 .