我有两台Windows机器,机器A和机器B运行带有Hyper-V的Windows 10。机器A和B都在同一网络上。
在机器B上,我使用Windows安装程序安装docker。我拉一个图像,然后运行:
docker run -p 1337:1337 --name my-image
然后,在计算机B上,通过打开浏览器窗口访问http://127.0.0.1:1337
,可以访问显示的http端点。
但是,我似乎无法使用以下命令从机器A打开同一http端点:
http://machineA.ip.address:1337
机器A和B之间没有防火墙。
很显然,在访问机器B上的docker容器时,机器A和B之间存在NAT问题。
如何从机器A访问在机器B上运行的docker容器公开的HTTP端点?
答案 0 :(得分:0)
您必须公开容器的Docker来宾端口以将其与主机端口绑定。
$ docker run -p 0.0.0.0:1337:1337 --name my-image
以上命令会将其与所有网络接口绑定。
如果需要,可以通过特定的IP地址限制对特定网络接口的访问。