Networking Docker容器和主机网络VPN
我正在尝试在打开VPN(TUN设备)的MacOS上运行docker映像。Docker容器可以访问internet,但不能访问vpn后面的资源。让Docker进入VPN网络的正确方法是什么 我试过了Networking Docker容器和主机网络VPN,networking,docker,vpn,Networking,Docker,Vpn,我正在尝试在打开VPN(TUN设备)的MacOS上运行docker映像。Docker容器可以访问internet,但不能访问vpn后面的资源。让Docker进入VPN网络的正确方法是什么 我试过了 docker run--net host要让docker共享主机网络,它没有帮助。 主机可以访问VPN资源,docker容器无法解析它们的名称。不确定这是否是最佳解决方案 我接受了连接到VPN后出现在主机上的DNS scutil --dns | grep 'nameserver\[[0-9]*\]'
docker run--net host
要让docker共享主机网络,它没有帮助。
主机可以访问VPN资源,docker容器无法解析它们的名称。不确定这是否是最佳解决方案 我接受了连接到VPN后出现在主机上的DNS
scutil --dns | grep 'nameserver\[[0-9]*\]'
nameserver[0] : xxx.xxx.xxx.xxx
修改的docker运行命令:
docker run --cidfile="docker.pid" --dns=xxx.xxx.xxx.xxx --publish-all
现在docker容器可以访问VPN后面的资源。。。它能工作,但我不知道它是好是坏…也有类似的问题。OP的解决方案奏效了,但重启docker虚拟机也是如此:
docker-machine restart $host
灵感:在将主机连接到VPN后,我不得不重新启动docker
sudo systemctl重启docker
docker start{name of container}
我最近构建了一个VPN容器,需要--privileged
,在我的情况下,--net host
不是必需的。对于任何ubuntu用户:在使用NetworkManager处理VPN连接的ubuntu上,--net host
足以共享VPN连接@schmunk As--privileged
开启所有功能,因此在安全性方面是一个巨大的缺陷,您应该尝试只识别关键功能(NET\u ADMIN
?),并只启用此功能。进一步阅读:@Murmel您应该将此评论作为ubuntu用户的答案,这是我的解决方案(ubuntu 18.04)。