You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker守护进程端口配置求助:需限定IP范围,IP/主机名连接失败

解决Docker Daemon仅能通过localhost访问的问题

我之前也碰到过一模一样的情况!这基本是因为你配置Docker daemon时,只把它绑定到了localhost(也就是127.0.0.1回环地址),导致外部IP或者主机名无法连接。下面分系统给你一步步解决的办法:

1. Linux系统配置步骤

首先检查Docker的核心配置文件/etc/docker/daemon.json(如果没有这个文件就直接创建):

  • 打开文件编辑:sudo nano /etc/docker/daemon.json
  • 添加或修改hosts字段,把绑定地址改成你允许的IP范围对应的接口。比如:
    • 如果你想允许所有本机可用IP访问(适合测试或内部可信网络):
      {
        "hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]
      }
      
    • 如果你只想绑定到特定IP(比如你的服务器IP是192.168.1.100):
      {
        "hosts": ["tcp://192.168.1.100:2375", "unix:///var/run/docker.sock"]
      }
      
  • 保存文件后,重启Docker服务生效:sudo systemctl restart docker
  • 验证绑定是否正确:执行ss -tulpn | grep dockerd,你应该能看到dockerd监听在你指定的IP和2375端口上。

2. Docker Desktop(Windows/macOS)配置步骤

  • 打开Docker Desktop,点击右上角的设置图标,找到Docker Engine选项卡
  • 在配置JSON里添加hosts字段:
    • Windows系统:
      {
        "hosts": ["tcp://0.0.0.0:2375", "npipe:////./pipe/docker_engine"]
      }
      
    • macOS系统:
      {
        "hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]
      }
      
    同样可以把0.0.0.0换成你需要绑定的特定IP
  • 点击Apply & Restart,等待Docker重启完成

关键安全提醒

直接暴露未加密的2375端口风险很高!一定要配合防火墙规则限制访问:

  • Linux:用ufw或者iptables只允许你指定的IP范围访问2375端口,比如:
    sudo ufw allow from 192.168.1.0/24 to any port 2375
    
  • Windows/macOS:在系统防火墙里添加规则,仅允许指定IP段访问2375端口

测试连接

配置完成后,试试用你的IP或主机名连接:

docker -H tcp://your-server-ip:2375 ps
# 或者用主机名
docker -H tcp://your-hostname:2375 ps

这时候应该就能正常返回容器列表了!

内容的提问来源于stack exchange,提问作者Tehreem Nisa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:01:36