如何从 Docker 容器中获取 Mac 主机的 IP 地址?

28
我想从Mac的Docker容器中访问主机IP地址。我知道如何在Linux上使用bridge0接口来实现它,但是Mac上的Docker没有bridge0。我尝试在Docker容器中使用网关172.17.0.1,但它不起作用。
我的Docker for Mac版本是Docker version 1.13.0, build 49bf474
我查看了这个链接https://github.com/docker/docker/issues/22753,但它提到了在lo0接口上创建别名,这不是我想要的。因为我们的项目是在Docker容器内运行的,我想提供一种通用的方法,而不改变主机上的任何内容。
有人知道如何在Mac上做到这一点吗?
1个回答

50

来自 Docker 文档

我想从容器连接到主机上的服务

Mac 的 IP 地址会不断变化(如果您没有网络访问,则可能没有 IP 地址)。从 17.06 开始,我们建议使用专门为 Mac 设计的 DNS 名称 docker.for.mac.localhost 连接到主机使用的内部 IP 地址。

我认为您需要升级您的 Docker For Mac 版本才能使此功能有效。


更新的答案

看起来这个答案已经过时了,现在您应该使用 host.docker.internal,参见 docs.docker.com/docker-for-mac/release-notes/#docker-community-edition-18030-ce-mac59-2018-03-26


16
让我补充我的答案-看起来这个答案已经过时了,现在你应该使用host.docker.internal,参考https://docs.docker.com/docker-for-mac/release-notes/#docker-community-edition-18030-ce-mac59-2018-03-26 - tunecrew
不要在原回答下添加评论,编辑它可能更有帮助,因为该答案已经过时并且一直被踩。 - Daniel B

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接