首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >码头集装箱与主机网络VPN

码头集装箱与主机网络VPN
EN

Stack Overflow用户
提问于 2015-11-24 21:58:06
回答 9查看 60.2K关注 0票数 62

我正试图在MacOS上运行对接映像,并打开(TUN设备)。Docker容器可以访问internet,但无法访问vpn背后的资源。什么是正确的方式使码头进入VPN网络?

我试过docker run --net host让码头共享主机网络,但没有帮助。主机可以访问VPN资源,码头容器不能解析它们的名称。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2015-11-25 09:52:11

不确定这是否是最好的解决方案。

我使用了连接到VPN后出现在主机上的DNS。

代码语言:javascript
复制
scutil --dns | grep 'nameserver\[[0-9]*\]'
nameserver[0] : xxx.xxx.xxx.xxx

修改后的停靠程序运行命令:

代码语言:javascript
复制
docker run --cidfile="docker.pid" --dns=xxx.xxx.xxx.xxx --publish-all

现在码头容器可以访问VPN背后的资源.很管用,但我不知道是好是坏.

票数 16
EN

Stack Overflow用户

发布于 2020-04-29 09:38:41

在将主机连接到VPN后,我不得不重新启动docker。

sudo systemctl restart docker docker start {name-of-container}

票数 39
EN

Stack Overflow用户

发布于 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

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33904647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档