文章时效性提示
这是一篇发布于 337 天前,最后一次更新在 291 天前的文章,部分信息可能已经发生改变,请注意甄别。
# 说明
本文来源:https://www.cnblogs.com/heei/p/18171683
# 前言
新版 WSL2 已经支持镜像模式网络 可以将 WSL2 的 IP 固定为与主机相同 镜像模式网络
但是在启用后 WSL2 中 Docker 运行的服务本机无法访问 issues 10494
结合上述 issues 给出自己的使用心得帮助大家避坑
# 环境
Win11 23H2 win + r > winver
WSL 2.1.5.0 win + r > cmd > wsl --version
# 步骤
编辑 wslconfig 开启镜像网络 wsl-config
win + r 输入 %UserProfile%
新建 .wslconfig
建议内容如下
[wsl2]
memory=8GB #内存最大值
swap=8GB #虚拟内存最大值
processors=4 #cpu核最大值
networkingMode=mirrored # 开启镜像网络
dnsTunneling=true # 开启 DNS Tunneling
firewall=true # 开启 Windows 防火墙
autoProxy=true # 开启自动同步代理
[experimental]
sparseVhd=true # 开启自动释放 WSL2 虚拟硬盘空间
autoMemoryReclaim=gradual # 开启自动回收内存
hostAddressLoopback=true # 允许容器通过分配给主机的 IP 地址连接到主机
开放防火墙 管理员权限打开 PowerShell 运行
Set-NetFirewallHyperVVMSetting -Name ‘{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}’ -DefaultInboundAction Allow |
重启 WSL2 之后本机和局域网即可通过本机 IP 访问 WSL2 中的服务
# 开启 Docker 并使其可访问
按照官方步骤安装 WSL2 install
安装 Docker (docker-ce)
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun | |
# 等待 20s 自动安装 Docker |
编辑 /etc/docker/daemon.json 文件添加如下内容
{ | |
"iptables": false | |
} |
重启 WSL2 之后 WSL2 中 Docker 运行的服务本机和局域网内都可以访问到了
记得重启 windows,否则电脑本机网络没有更新会出现 bug!