Windows Docker Desktop开放API端口2375用于远程调用

文章介绍了如何在WindowsDockerDesktop中开启2375端口以允许远程调用。首先,需要启动IPHelper服务并将其设置为自动启动。接着,在Docker配置中启用2375端口。最后,通过执行端口映射命令,将外部IP的2375端口映射到localhost的2375端口,确保安全访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

Windows Docker Desktop为了安全,默认设置中只有localhost:2375

解决

开启IP Helper服务


打开服务IP Helper,选择启动类型为自动
在这里插入图片描述

开启Docker配置开放2375端口

在这里插入图片描述

勾选开放端口选项,然后点击 Apply & Restart

端口映射

找到需要暴露的IP

cmd中执行ipconfig 找到自己需要暴露的IP

在这里插入图片描述

执行端口映射命令

管理员权限开启cmd,执行以下命令

netsh interface portproxy add v4tov4 listenport=2375 listenaddress=%EXPOSE_IP% connectaddress=127.0.0.1 connectport=2375

将上述命令中的%EXPOSE_IP% 替换成你需要暴露的ip

Windows防火墙

关闭防火墙

喜欢暴力点的朋友请直接关闭防火墙

添加防火墙规则

不想关闭防火墙,那就添加规则吧
管理员权限开启cmd,执行以下命令

netsh advfirewall firewall add rule name="Docker Engine API" dir=in action=allow protocol=TCP localport=2375

测试

远程机器上执行telnet, 同样替换${EXPOSE_IP} 成你需要暴露的ip

telnet  ${EXPOSE_IP} 2375

在这里插入图片描述

### 远程连接Docker DesktopLinux服务器 为了实现从Docker Desktop远程连接到Linux服务器,通常涉及配置SSH访问权限以及设置Docker守护程序以接受来自特定客户端的请求。 #### 配置SSH访问 确保本地机器能够通过SSH安全登录目标Linux服务器。这一步骤对于后续操作至关重要[^1]。具体来说,在本地计算机上执行如下命令来测试并建立与远端主机的安全连接: ```bash ssh username@linux_server_ip_address ``` 这里`username`代表拥有适当权限用于管理容器服务的有效用户名;而`linux_server_ip_address`则是指代运行着所需交互之Docker环境的目标设备公网IP地址或域名。 #### 设置Docker守护进程监听外部连接 默认情况下,Docker仅允许来自localhost(即同一台物理机上的应用程序和服务)发起API调用。为了让其他位置的应用也能顺利沟通,则需调整其配置文件使它对外界开放接口。编辑位于 `/etc/docker/daemon.json` 的JSON格式配置文档,加入下列字段指定TCP端口供外界访问: ```json { "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"] } ``` 上述改动使得Docker不仅继续响应Unix socket形式的传统内部通信方式,同时也开启了面向互联网暴露于2375端口处的服务入口。值得注意的是,这种做法可能带来安全隐患,因此建议采取额外措施保障安全性,比如利用防火墙规则限定可接入源地址范围或是启用TLS加密传输机制保护数据交换过程中的隐私性[^2]。 完成以上修改之后重启Docker服务生效更改: ```bash sudo systemctl restart docker ``` #### 使用Docker CLI验证连通状况 最后回到最初提到过的Windows/MacOS平台下的图形界面工具——Docker Desktop之前,先借助命令行工具确认一切正常运作无误。打开终端窗口输入下面指令尝试获取远程节点版本信息作为初步检验手段之一: ```bash docker -H tcp://<your-linux-server-ip>:2375 version ``` 如果返回了关于对方系统的描述说明已经成功建立了稳定可靠的链路关系。此时再考虑进一步集成GUI组件也不迟。 #### 整合Docker Desktop进行可视化控制 当所有前期准备工作都顺利完成以后,就可以着手准备让Docker Desktop参与到整个流程当中来了。虽然官方并不直接支持跨操作系统边界直接桥接两套不同体系结构之间的差异,但是可以通过安装适用于各自平台特性的代理插件间接达成目的。例如,在Mac OS X环境下推荐采用HyperKit驱动方案构建轻量级虚拟化层承载Guest OS实例;而在基于Microsoft Windows 10 Pro及以上版本的操作系统里则更倾向于Hyper-V技术路线实施相同功能特性集。 不过最简便的方式还是直接在Docker Desktop中配置远程Docker引擎。进入Preferences -> Docker Engine ,然后添加远程Docker引擎URL,通常是 `tcp://<your-linux-server-ip>:2375` 。保存设置后,即可在Docker Desktop中查看和管理远程Linux服务器上的容器资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值