WSL2安装Docker
之前的wsl由于不支持守护进程,因此无法安装Docker。后来win10预览版 build18917中对wsl进行了升级,增加了对守护进程的支持。Windows版本wsl2现在只有win10预览版才能体验,可以通过:设置>更新和安全>Windows预览体验计划,按照提示操作加入预览体验计划,并升级成预览版,并且确保操作系统版本号大于等于18917,通过:设置>系统>关于..
之前的wsl由于不支持守护进程,因此无法安装Docker。后来win10预览版 build18917中对wsl进行了升级,增加了对守护进程的支持。
Windows版本
wsl2现在只有win10预览版才能体验,可以通过:设置>更新和安全>Windows预览体验计划,按照提示操作加入预览体验计划,并升级成预览版,并且确保操作系统版本号大于等于18917,通过:设置>系统>关于,查看系统版本号。
开启Hyper-V
查看Hyper-V是否开启:控制面板>程序>开启或关闭Windows功能>Hyper-V
需要注意的是,Windows 10 家庭版是没有Hyper-V功能的,需要手动添加Hyper-V功能。将下面代码保存成后缀名为[.bat]的文件中,以管理员身份运行。完成后会提示是否立即重启,请选择Y,稍后重启可能会出现问题。
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
安装WSL
通过win10商店搜索需要的Linux版本,直接安装。
如果要安装其他版本的Linux,可以参考官方教程。
安装好之后,默认Linux的PATH会包含Windows的PATH,如果Windows和Linux安装了相同的软件,这个时候就会出现问题,在Linux中如下设置。
sudo vim /etc/wsl.conf
#写入
[interop]
enabled=false
appendWindowsPath=false
#重启Linux
#在Windows中运行:
net stop LxssManager
net start LxssManager
如果要备份系统,可以这样:
#在Windows上运行
#将系统导出
wsl --export <分发版> <文件名>
例如:wsl --export Ubuntu-18.04 D:\vm\Ubuntu-18.04-bak.tar
#将系统导入
wsl --import <分发版> <安装位置> <文件名> [选项]
例如:wsl --import Ubuntu-18.04 D:\vm D:\vm\Ubuntu-18.04-bak.tar
升级WSL到WSL2
在Windows上运行以下命令
#查看已经安装的WSL及其状态
wsl --list --verbose
#输出如下
NAME STATE VERSION
* Ubuntu-18.04 Stopped 1
#将Ubuntu-18.04升级成版本2
wsl --set-version Ubuntu-18.04 2
安装Docker
参考我的另外一篇博客中的片段。
安装好Docker,运行几个容器后,我查看Windows进程,发现Vmmem这个进程非常占内存,查看WSL项目的issue后发现,可以通过下面的方法解决这个问题。
1. 在Windows中设置一个环境变量UserProfile,值设置成用户目录C:\Users\xxx
2. 在UserProfile下创建文件.wslconfig,写入如下内容,内存的大小自己设定。
[wsl2]
memory=4GB
swap=0
localhostForwarding=true
更多推荐
所有评论(0)