WSL基本使用

一、WSL导出子系统

首先查看存在的子系统

wsl -l -v

在powershell执行以下指令

wsl --export sy  D:\WSL\sy_image.tar

sy是要打包的子系统名字,需要与上面查询的一致

D:\WSL\sy_image.tar为打包路径

二,WSL导入子系统

  命令格式:wsl --import <DistributionName>  <安装位置>  <tar文件名>
   导入时改变DistributionName(如Ubuntu-20.04改成Ubuntu),会导致WSL不可用。
wsl --import sy   D:\WSL\sy   D:\WSL\sy_image.tar

三 window 访问wsl 内docker服务

netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8888 connectaddress=172.25.23.136 connectport=80
#例如:上面我是用wsl的ubuntu中的80端口映射到了容器的80端口,所以我这边的connectport要填80,172.25.23.136 是我ubuntu的eth0的ip
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=3308 connectaddress=172.25.23.136 connectport=3308

四 wsl和本机共享统一网段

每次重启wsl ip会变化 绑定固定ip

wsl.bat

@echo on
setlocal enabledelayedexpansion

::wsl --shutdown
::wsl -u root service docker start | findstr "Starting Docker" > nul
::if !errorlevel! equ 0 (
 ::   echo docker start success
::)
:: set wsl2 ip
wsl -u root ip addr | findstr "192.168.169.2" > nul
if !errorlevel! equ 0 (
    echo wsl ip has set
) else (
    wsl -u root ip addr add 192.168.169.2/28 broadcast 192.168.169.15 dev eth0 label eth0:1
    echo set wsl ip success: 192.168.169.2
)


:: set windows ip
ipconfig | findstr "192.168.169.1" > nul
if !errorlevel! equ 0 (
    echo windows ip has set
) else (
    netsh interface ip add address "vEthernet (WSL)" 192.168.169.1 255.255.255.240
    echo set windows ip success: 192.168.169.1
)
pause
::cmd
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值