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

WSL2自定义Docker配置:如何从Windows访问容器端口?

解决方案:无需更换Mac,本地配置实现Windows访问WSL2容器端口

以下是几个无需修改公司Dockerfile的可行方案,按操作复杂度从易到难排序:

方案1:直接使用WSL2的IP地址访问

  • 在WSL2终端执行以下命令获取当前WSL2的IP:
    hostname -I
    # 或者更精准的命令
    ip addr show eth0 | grep inet | awk '{print $2}' | cut -d/ -f1
    
  • 在Windows的MySQL Workbench(或其他工具)中,将数据库主机地址填写为上述获取到的WSL2 IP,端口保持3306即可连接。
  • 注意:WSL2重启后IP会自动变更,若嫌麻烦可参考方案2配置自动转发,或给WSL2设置静态IP。

方案2:配置Windows端口转发(手动/自动)

手动配置

  1. 获取WSL2的IP(同方案1)。
  2. 以管理员身份打开Windows命令提示符,执行端口转发命令(以3306为例,其他端口同理):
    netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=3306 connectaddress=<你的WSL2_IP> connectport=3306
    
  3. 检查Windows防火墙是否允许这些端口的入站连接,若被拦截,添加对应端口的允许规则。

自动配置(避免重启WSL2后重复操作)

写一个PowerShell脚本,开机自动获取WSL2的IP并更新端口转发规则:

# 获取WSL2的IP
$wslIp = wsl hostname -I | Trim()

# 清除旧的端口转发规则
netsh interface portproxy delete v4tov4 listenport=3306
netsh interface portproxy delete v4tov4 listenport=5601
netsh interface portproxy delete v4tov4 listenport=9090
netsh interface portproxy delete v4tov4 listenport=9200

# 添加新的转发规则
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=3306 connectaddress=$wslIp connectport=3306
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=5601 connectaddress=$wslIp connectport=5601
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=9090 connectaddress=$wslIp connectport=9090
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=9200 connectaddress=$wslIp connectport=9200

将脚本保存为.ps1文件,设置为开机自动运行即可。

方案3:启用WSL2 localhost转发(适用于Windows 11或新版WSL)

若你的Windows版本为11或安装了较新的WSL版本,可通过配置实现Windows直接用localhost访问WSL2容器端口:

  1. 在WSL2终端中编辑/etc/wsl.conf文件(若不存在则创建):
    sudo nano /etc/wsl.conf
    
  2. 添加以下配置内容:
    [network]
    generateHosts = true
    generateResolvConf = true
    localhostForwarding = true
    
  3. 保存文件后,在Windows命令提示符中执行wsl --shutdown关闭WSL,再重新启动WSL。
  4. 之后在Windows上直接使用localhost:3306、localhost:5601等地址即可访问对应容器服务。

以上方案均无需修改公司的Dockerfile,仅需在本地完成配置,完全不需要更换Mac设备。

内容的提问来源于stack exchange,提问作者Saul Goodman

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 18:22:36