docker - 如何连接到远程主机上运行的 docker 容器

标签 docker docker-for-windows

我有两台运行 Windows 10 和 Hyper-V 的 Windows 机器机器 A、机器 B。机器 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 端点?

最佳答案

您必须公开容器的 docker guest 端 Eloquent 能将其与主机端口绑定(bind)。

$ docker run -p 0.0.0.0:1337:1337 --name my-image

以上命令会将其与所有网络接口(interface)绑定(bind)。
如果需要,您可以通过特定的 IP 地址限制对特定网络接口(interface)的访问。

关于docker - 如何连接到远程主机上运行的 docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53081553/

相关文章:

azure - 在 Docker 中运行的自定义 Azure DevOps 构建代理上安装卷的测试容器

Docker 与共享 Windows 文件夹

docker - 你如何在 Windows 上安装 docker 套接字?

windows - 当涉及文件权限时,是否可以在Windows上构建相同的Linux docker镜像?

asp.net - Windows Docker 镜像无法访问互联网

docker - docker ps -all和docker ps --all有什么区别

linux - Docker Bash 没有颜色

docker - 适用于 Windows 的 Docker Desktop 上的 Elasticsearch

docker - 使用环境变量在Dockerfile中设置容器版本

docker - 在Windows中移至WSL 2后向Docker容器分配内存