如何连接到远程主机上的 docker 容器 运行
How to connect to a docker container running on a remote host
我有两台 windows 机器机器 A,机器 B 运行ning Windows 10 和 Hyper-V。机器 A 和 B 都在同一个网络上。
在机器 B 上,我使用 Windows 安装程序安装 docker。我拉了一张图片,然后 运行 它是:
docker run -p 1337:1337 --name my-image
然后在机器 B 上,我可以访问通过打开浏览器 window 到 http://127.0.0.1:1337
公开的 http 端点。
但是我似乎无法从机器 A 打开相同的 http 端点:
http://machineA.ip.address:1337
机器A和B之间没有防火墙
很明显,在访问机器 B 上的 docker 容器时,机器 A 和 B 之间存在 NAT 问题。
如何从机器 A 访问机器 B 上 docker 容器 运行ning 公开的 HTTP 端点?
您必须公开容器的 docker 来宾端口才能将其与主机端口绑定。
$ docker run -p 0.0.0.0:1337:1337 --name my-image
以上命令会将其与所有网络接口绑定。
如果需要,您可以通过特定的 IP 地址限制对特定网络接口的访问。
我有两台 windows 机器机器 A,机器 B 运行ning Windows 10 和 Hyper-V。机器 A 和 B 都在同一个网络上。
在机器 B 上,我使用 Windows 安装程序安装 docker。我拉了一张图片,然后 运行 它是:
docker run -p 1337:1337 --name my-image
然后在机器 B 上,我可以访问通过打开浏览器 window 到 http://127.0.0.1:1337
公开的 http 端点。
但是我似乎无法从机器 A 打开相同的 http 端点:
http://machineA.ip.address:1337
机器A和B之间没有防火墙
很明显,在访问机器 B 上的 docker 容器时,机器 A 和 B 之间存在 NAT 问题。
如何从机器 A 访问机器 B 上 docker 容器 运行ning 公开的 HTTP 端点?
您必须公开容器的 docker 来宾端口才能将其与主机端口绑定。
$ docker run -p 0.0.0.0:1337:1337 --name my-image
以上命令会将其与所有网络接口绑定。
如果需要,您可以通过特定的 IP 地址限制对特定网络接口的访问。