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

从WSL向Windows暴露Docker守护进程遇问题求助

问题排查与解决方案

1. WSL网络端口转发缺失

WSL 2采用NAT网络模式,直接在WSL内绑定0.0.0.0:2375后,Windows主机无法直接访问该端口,需手动配置端口转发:

  • 先在WSL内确认Docker守护进程已监听2375端口:
    ss -tulpn | grep 2375
    
    若输出包含0.0.0.0:2375,说明服务端监听配置生效。
  • 在Windows管理员权限的PowerShell中执行以下操作:
    1. 获取当前WSL的IP地址(WSL内执行hostname -I | awk '{print $1}',得到类似172.17.0.2的地址)。
    2. 添加端口转发规则:
      netsh interface portproxy add v4tov4 listenport=2375 listenaddress=0.0.0.0 connectport=2375 connectaddress=你的WSL_IP地址
      
    3. 允许Windows防火墙放行2375端口:
      New-NetFirewallRule -DisplayName "Docker WSL" -Direction Inbound -Protocol TCP -LocalPort 2375 -Action Allow -Profile Private
      

2. Docker配置方式不持久化且存在冲突

直接修改/lib/systemd/system/docker.service会被系统更新覆盖,且易与Docker默认配置冲突,正确配置方式如下:

  • 在WSL内创建/编辑Docker守护进程配置文件:
    sudo nano /etc/docker/daemon.json
    
    添加以下内容(已有其他配置则合并):
    {
      "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"],
      "tls": false
    }
    
  • 修改/lib/systemd/system/docker.service,移除ExecStart行中的-H参数(避免与daemon.json配置冲突),修改后该行应为:
    ExecStart=/usr/bin/dockerd
    
  • 重新加载systemd并重启Docker服务:
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

3. Windows环境变量配置未生效或错误

  • 确保Windows的DOCKER_HOST环境变量设置为tcp://localhost:2375(利用端口转发,无需直接写WSL的动态IP)。
  • 设置完成后,必须重启命令行窗口(PowerShell/CMD),让环境变量生效。

4. 端口转发持久化(可选,解决WSL重启后失效问题)

WSL重启后IP会变化,端口转发规则会失效,可通过启动脚本自动配置:

  • 在WSL用户目录下创建启动脚本~/.wsl_startup.sh:
    #!/bin/bash
    sudo systemctl start docker
    WSL_IP=$(hostname -I | awk '{print $1}')
    powershell.exe -Command "netsh interface portproxy delete v4tov4 listenport=2375; netsh interface portproxy add v4tov4 listenport=2375 listenaddress=0.0.0.0 connectport=2375 connectaddress=$WSL_IP"
    
  • 给脚本添加执行权限:
    chmod +x ~/.wsl_startup.sh
    
  • 在/etc/profile末尾添加一行:~/wsl_startup.sh,确保WSL启动时自动执行脚本。

完成以上步骤后,在Windows命令行执行docker ps,若能正常返回容器列表则配置成功。

内容的提问来源于stack exchange,提问作者Michele Ietri

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 04:45:39