文章目录
一、wsl2介绍
WSL是windows系统内置的Linux,wsl只是长得像 Linux 而已,虽然在这个子系统中我们可以执行 Linux 程序,但是到了底层WSL 调用的还是 win32 API,即WSL 只是一个适配层,无法独立安装docker与使用。
而wsl2是真正的linux系统,拥有完整内核,相当于运行在虚拟机中的linux,可以很好的支持docker的安装与使用
二、wsl2的安装
1. 启用适用于 Linux 的 Windows 子系统
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
2. 启用虚拟机功能(该步执行完需要重启电脑)
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
3. 下载并安装 Linux 内核更新包
4. 将 WSL 2 设置为默认版本
如果已经安装了wsl则使用以下命令升级到wsl2
wsl --set-version Ubuntu-20.04 2
在终端使用wsl -l -v来查看当前wsl的版本,version为版本号
如果未安装wsl则使用以下命令设置全局默认版本为wsl2
wsl --set-default-version 2
5. 打开 Microsoft Store,选择你需要安装的linux版本
或者使用管理员权限打开powershell,输入wsl --install来安装wsl
查看版本,当前已经升级到wsl2了
如果没有成功转换或者安装wsl2可以重新开启windows的hyper-V服务并检查bois的虚拟化是否已经开启,可使用以下命令再次尝试
bcdedit /set hypervisorlaunchtype auto
三、wsl2安装并使用docker
1.使用最方便的方法安装docker
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun
3.设置不使用sudo运行docker
如果不设置,每次使用docker命令都需要加上sudo很麻烦
把当前用户加入docker组就可以了
sudo groupadd docker
sudo gpasswd -a ${USER} docker
newgrp - docker
2.运行docker
此linux不能使用systemctl来管理程序,所以只能用service来启动
sudo service docker start
四、win10中使用vscode利用linux环境开发
1.vscode安装wsl插件
插件名称为Remote - WSL
安装后左下角这里可以切换到wsl2的环境中
显示wsl就可以愉快的开始利用linux环境愉快的开发了,不用再虚拟机里切来切去的那么麻烦了
总结
使用windows内置的linux系统做开发效率可以提升很多,并且特别方便,不用切来切去,性能占用也比较少,之前的wsl无法使用docker确实很不方便,微软推出了wsl2完美解决了这个问题,已经是非常好用的了