我是 Docker 的新手。我的 Docker Desktop for Windows 版本是 19.03.5。我想从 Windows 的 Docker 桌面公开端口 2375,但是如果我使用 GUI 设置,
只能通过 tcp://127.0.0.1 访问,我的内部 IP 地址 192.168.3.9 不起作用。
https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-docker/configure-docker-daemon。
该文档说要编辑C:\ProgramData\Docker\config\daemon.json和添加"hosts": ["tcp://0.0.0.0:2375"],但它不适用于任何 IP 地址,我很确定我是按照文档来做的。
那么我应该怎么做才能从同一子网中的另一台计算机通过 tcp://192.168.3.9 进行访问?
在某些配置(WSL2 后端/Linux 容器)中,您不能强制 com.docker.proxy.exe 公开 TCP 端口 2375(它将永远绑定 127.0.0.1:2375)
使用简单的 NAT 转发规则
netsh interface portproxy add v4tov4 listenport=2375 listenaddress=[public IP, NOT 0.0.0.0] connectaddress=127.0.0.1 connectport=2375
Run Code Online (Sandbox Code Playgroud)
为了达到你想要的
小智 6
与@131的答案类似。问题是 Docker 在 2375 中运行,但在某些设置中它仅绑定到 localhost(WSL2 后端/Linux 容器)
这应该可以以管理员身份运行:
netsh interface portproxy add v4tov4 listenport=3375 listenaddress=0.0.0.0 connectaddress=127.0.0.1 connectport=2375
Run Code Online (Sandbox Code Playgroud)
然后就可以在客户端执行
DOCKER_HOST=192.168.1.1:3375 docker ps
或者
docker -H tcp://192.168.1.10:3375 ps
192.168.1.1你的 Docker 主机 IP 在哪里
Docker 不在 Windows 上本机运行。它实际上创建了一个运行 docker 守护进程的 Linux 虚拟机。您可以使用 VirtualBox 查看此虚拟机(假设您像许多其他人一样使用 VirtualBox 进行虚拟化)。
因此,为了获得您的设置,您需要修改此虚拟机。您需要确保其网络接口处于 NAT 模式,然后在高级设置中您可以将端口 (2375) 从主机转发到访客。重新启动 Docker,它应该可以工作。
| 归档时间: |
|
| 查看次数: |
5651 次 |
| 最近记录: |