Docker Desktop 上开启 Docker API 远程访问端口

在 Docker Desktop 上开启 Docker API 远程访问端口(默认2375)主要是通过软件设置界面完成,这与在 Linux 服务器上修改配置文件的方法不同。开启后,局域网内的其他机器就能通过 HTTP 调用 Docker API 来管理容器。

下面是具体操作步骤、安全警告和验证方法。

🖥️ Docker Desktop 配置步骤

整个配置过程涉及 Docker Desktop 设置、Windows 防火墙和端口转发,具体步骤如下:

步骤操作说明与建议
1. 开启服务启动 IP Helper 服务,并设置为“自动”启动类型这是Windows系统网络端口转发依赖的基础服务。
2. Docker设置打开 Docker Desktop Settings > General,勾选 “Expose daemon on tcp://localhost:2375 without TLS”,点击 Apply & Restart这是核心步骤。Docker Desktop 重启后,会在 本地(127.0.0.1) 监听2375端口。
3. 端口转发管理员权限的CMD/PowerShell中执行命令(将 <your_ip> 换成你的本机局域网IP)netsh interface portproxy add v4tov4 listenport=2375 connectaddress=127.0.0.1 connectport=2375 listenaddress=【your-public-ip】 protocol=tcp目的是将局域网IP对2375端口的请求,转发到本地的2375端口。
4. 防火墙规则管理员权限的CMD/PowerShell中添加防火墙入站规则netsh advfirewall firewall add rule name="Docker_API" dir=in action=allow protocol=TCP localport=2375允许外部流量通过Windows防火墙访问2375端口。
5. 验证另一台局域网电脑上执行:telnet <your_ip> 2375 或 curl http://<your_ip>:2375/version如果能连接或返回Docker版本JSON信息,则配置成功。

⚠️ 重要安全警告

请注意,使用未经加密和认证的2375端口有极高的安全风险(任何知道IP的人都能控制你的Docker守护进程)。搜索结果中多次强调,此配置仅建议在绝对可信的测试环境(如隔离的开发内网)中使用

如果需要在生产或更开放的网络中使用,必须配置基于TLS证书的加密和认证(使用2376端口)

🛠️ 测试与管理

配置成功后,你可以这样使用远程API:

  • 远程执行命令:在其他机器上,使用 -H 参数指定远程主机,例如:docker -H tcp://<your_ip>:2375 ps
  • 环境变量:可以在远程机器上设置环境变量 DOCKER_HOST=tcp://<your_ip>:2375,之后所有 docker 命令都会自动发往该主机。

💎 总结

在 Docker Desktop 开启远程 API 的核心是在设置中勾选暴露守护进程选项,然后解决Windows环境下的端口转发防火墙问题。请务必重视安全警告。

注:上述方法适用于常规网络环境。如果在公司内网遇到连接问题,可能需要联系网络管理员确认是否有其他网络策略限制。

如果你需要了解如何在开启远程API后,进行基于TLS证书的安全加密配置,或者如何在Docker容器(而非守护进程)上进行端口映射,我可以为你提供更多信息。

windows下Docker镜像拉取失败 需在Dock Engine下配置


{
“builder”: {
“gc”: {
“defaultKeepStorage”: “20GB”,
“enabled”: true
}
},
“experimental”: false,
“registry-mirrors”: [
“https://docker.m.daocloud.io“,
“https://docker.imgdb.de“,
“https://docker-0.unsee.tech“,
“https://docker.hlmirror.com“,
“https://docker.1ms.run“,
“https://func.ink”,
“https://lispy.org“,
“https://docker.xiaogenban1993.com”
]
}