![](/img/trans.png)
[英]How to connect to 'real' localhost from inside my VM boot2docker container?
[英]Accessing host machine as localhost from a Docker container that's also inside a boot2docker vm
假设我有一台服务器在 OSX 的 8000 端口上运行。 我的 Docker 容器如何通过localhost:8000
访问它? 我也无法更改主机名,因为容器中的应用程序不在我的控制范围内。
我已经阅读了之前关于使用--net="host"
容器访问主机网络的讨论。 但是,我在 OSX 上并且 Docker 在 VM 内运行,因此来自 Docker 容器的localhost使用--net="host"
转到 VM 而不是我的真机。
然后我尝试了这样的端口转发解决方法: VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port8000,tcp,,8000,,8000";
无济于事。
任何建议将不胜感激。
不要使用--net="host"
运行,而是尝试--add-host="localhost:192.168.59.3"
,这是 boot2docker 主机 IP。
如果我理解你的意图,那就是:从容器连接到主机端口
从 18.3 开始,docker 团队为我们提供了服务:
我们使用别名host.docker.internal
我想从容器连接到主机上的服务主机有一个不断变化的 IP 地址(如果您没有网络访问权限,则没有)。 从 18.03 开始,我们的建议是连接到特殊的 DNS 名称
host.docker.internal
,该名称解析为主机使用的内部 IP 地址。 这是出于开发目的,不适用于 Docker Desktop for Windows 之外的生产环境。网关也可以作为
gateway.docker.internal
访问。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.