我正试图在MacOS上运行对接映像,并打开(TUN设备)。Docker容器可以访问internet,但无法访问vpn背后的资源。什么是正确的方式使码头进入VPN网络?
我试过docker run --net host让码头共享主机网络,但没有帮助。主机可以访问VPN资源,码头容器不能解析它们的名称。
发布于 2015-11-25 09:52:11
不确定这是否是最好的解决方案。
我使用了连接到VPN后出现在主机上的DNS。
scutil --dns | grep 'nameserver\[[0-9]*\]'
nameserver[0] : xxx.xxx.xxx.xxx修改后的停靠程序运行命令:
docker run --cidfile="docker.pid" --dns=xxx.xxx.xxx.xxx --publish-all现在码头容器可以访问VPN背后的资源.很管用,但我不知道是好是坏.
发布于 2020-04-29 09:38:41
在将主机连接到VPN后,我不得不重新启动docker。
sudo systemctl restart docker docker start {name-of-container}
发布于 2021-07-16 15:44:13
我确实有这个问题。我尝试了这里提出的其他解决方案,但它们对我没有用。经过多次尝试和错误之后,这个解决方案很好地工作了:
在daemon.json配置文件中添加"bip":"192.168.1.5/24“。这个文件可以在docker或at /etc/ docker /daemon.json下的docker桌面设置中找到。BIP是桥接IP地址的设置,它将更改其子网中的IP对接者分配。通过更改此设置,我避免了VPN和停靠ip地址之间的冲突。
重新启动停靠守护进程。
停止所有集装箱。
运行“停靠网络剪枝”以删除未使用的网络。
重新启动所有容器。这将用新的IP地址重新创建他们的网络。
在将来连接到VPN之后,您可能仍然需要重新启动码头。有关其他解决方案和想法,请参阅此线程:https://github.com/docker/for-mac/issues/2820
https://stackoverflow.com/questions/33904647
复制相似问题