如何连接到远程主机上的 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 地址限制对特定网络接口的访问。