Windows10上开启WSL2(Windows Subsystem for Linux 2)及Docker Desktop For Windows
什么是WSL2
WSL2(Windows Subsystem for Linux 2)是适用于Linux的Windows子系统体系结构的一个新版本,它支持适用于Linux的Windows子系统在Windows上运行ELF64 Linux二进制文件。它的主要目标是提高文件系统性能,以及添加完全的系统调用兼容性。
- 网卡管理、网络抓包、查看网络连接状态、防火墙等较底层的网络相关功能。
- 挂载文件(如 ext4 文件、squashfs 文件)和网络资源(如 nfs、ssh )到本地。
- tmpfs (在 /run/shm 或者 /dev/shm,/tmp 不是)。
- 完整的 cgroups,因此可以运行 Docker 等容器。
- 完整的 IPC ( WSL 缺失一部分,比如运行不了 fakeroot )。
- 可修改内核参数、添加内核模块,以及替换内核。因此可以支持很多更底层的应用。
因为之上的这些原因,WSL2可以更好地享受完整Linux系统带来的方便,不需要因为WSL的功能缺失而使用各种迂回方法。
优势
- 进程启动开销大大减少,需要频繁启动进程的场景性能大幅提升。
- 本地磁盘(不包括挂载的 /mnt/*)读写性能大幅提升。
前提
启用可选的两个Windows系统功能
- 适用于Linux的Windows子系统
- 虚拟机平台
方式一:走系统设置开启
前往系统设置-应用-程序和功能-启用或关闭Windows功能,勾选上述目标项,确认即可。

方式二:走PowerShell命令开启
如果你习惯命令行,推荐用如下命令来开启上诉两项:
# 安装适用于 Linux 的 Windows 子系统
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 启用“虚拟机平台”可选组件
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
执行完,请务必重启计算机。
将WSL2设置成默认版本
在Powershell中,输入如下命令:
wsl --set-default-version 2

出现上图提示就表示设置成功了。
如果遇到点问题,可能是需要升级一下wsl组件,安装一下安装包即可。
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
安装你中意的Linux版本
如果你是Windows10,请打开你的Microsoft Store,搜索你的目标Linux版本。

或者直接点击已下知道的几个链接,可以跳转到对应的安装页面。
- Ubuntu 16.04 LTS
- Ubuntu 18.04 LTS
- Ubuntu 20.04 LTS
- openSUSE Leap 15.1
- SUSE Linux Enterprise Server 12 SP5
- SUSE Linux Enterprise Server 15 SP1
- Kali Linux
- Debian GNU/Linux
- Fedora Remix for WSL
- Pengwin
- Pengwin Enterprise
- Alpine WSL

下载完毕后,启动并打开,会提示你输入新的用户名和密码,这将是你创建的第一个用户。
安装Docker Desktop For Windows
最新稳定版安装包:Docker Desktop Installer.exe

默认推荐勾选:
- Enable WSL 2 Windows Features
- Add shortcut to desktop




右键桌面右下角的Docker图标,进入Setting界面,可以设置你安装的Linux版本作为默认的distro


因为一些不确定的原因,这里推荐你切换到Linux的终端环境来执行一下命令,而不是使用PowerShell。
资源管理器访问wsl
在资源管理器的地址栏输入如下命令,即可轻松访问Linux子系统。
\\wsl$


Visual Studio Code访问WSL
通过安装以下插件,可以实现从Visual Studio Code对WSL的访问。
通过安装以下插件,可以实现从Visual Studio Code对WSL中Docker Container的访问。
阿里云加速Docker镜像

资料
Windows10上开启WSL2(Windows Subsystem for Linux 2)及Docker Desktop For Windows的更多相关文章
- 适用于windows10 Linux子系统的安装管理配置 How To Management Windows Subsystem for Linux WSL
什么是WSL Windows Subsystem for Linux 简称WLS,适用于Linux的Windows子系统,可以直接在Windows上运行Linux环境(包括大部分命令行工具) Linu ...
- Windows Subsystem for Linux(WSL)安装记录
什么是WSL Windows Subsystem for Linux(简称WSL)是一个为在Windows 10上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层.它是由微软与Canoni ...
- Windows SubSystem for Linux
Summary of Windows SubSystem for Linux Install Ubuntu Run PowerShell as administrator and input: Ena ...
- WSL (Windows Subsystem for Linux) 的 VSLAM (Visual Simultaneous Localization and Mapping) 道路
WSL 的 VSLAM 道路 以 Windows Subsystem for Linux 闯入 Visual Simultaneous Localization and Mapping 世界的艰难道路 ...
- Bash on Ubuntu on Windows ( Windows Subsystem for Linux)
1 # Bash on ubuntu on Windows http://www.cnblogs.com/anonymous-ufo/p/6143480.html 1 1 如何启用Bash on u ...
- WSL(Windows Subsystem for Linux)--Pico Process Overview
[转载] Windows Subsystem for Linux -- Pico Process Overview Overview This post discusses pico processe ...
- Windows Subsystem for Linux 环境变量
WSL(Windows Subsystem for Linux )的环境变量是包含Linux子系统和Windows系统的,测试如下: wy@WY-PC:/mnt/c/Windows/System32$ ...
- WSL优化 (Windows Subsystem for Linux) Linux子系统优化配置
目录 wsl优化 (Windows Subsystem for Linux) Linux子系统优化 1. 永久修改wsl终端字体 2. 修改Linux终端配色 3. 添加WSL到右键菜单 wsl优化 ...
- Running ASP.NET Core applications on Windows Subsystem for Linux
Setting up Linux on Windows 10 First thing is to enable Windows Subsystem for Linux. It doesn’t inst ...
随机推荐
- [bug] httpd服务启动问题
参考 httpd服务器启动失败 https://www.cnblogs.com/Crazy-Liu/p/11550824.html Apache-httpd服务器启动成功网页却不能访问 https:/ ...
- [bug] python matplotlib 中文乱码
参考 matplotlib解决不显示中文问题 https://www.jianshu.com/p/b02ec7dc39dd
- 联想INTEL X86台式机 用光驱启动 usb光驱启动
联想INTEL X86台式机 用光驱启动 usb光驱启动 启动项顺序 都要调整 主要顺序 自动顺序 出错顺序 按下f10 f12
- MegaRAID BIOS设置阵列
MegaRAID BIOS设置阵列 1.在初始界面可以看到physical View的界面,或者在左侧的菜单栏中点击选中即可,可以看到物理磁盘. 2.点击上一步的配置向导可以进入到配置向导界面 3.选 ...
- BogoMips 和cpu主频无关 不等于cpu频率
http://tinylab.org/explore-linux-bogomips/ 内核探索:Linux BogoMips 探秘 Tao HongLiang 创作于 2015/05/12 打赏 By ...
- MegaCli是一款管理维护硬件RAID软件,可以通过它来了解当前raid卡的所有信息,包括 raid卡的型号,raid的阵列类型,raid 上各磁盘状态
MegaCli 监控raid状态 转载weixin_30344131 最后发布于2015-10-16 13:05:00 阅读数 简介 MegaCli是一款管理维护硬件RAID软件,可以通过它来了 ...
- 5.1-5 uname、hostname、dmesg、stat、du
5.1 uname:显示系统信息 uname命令用于显示系统相关信息,比如内核版本号.硬件架构等. -a 显示系统所有相关信息 -v 显示内核版本 -m 显示计算机硬件架构 ...
- PDF 文件编写器 C# 类库(版本 1.28.0)使用详解
PDF File Writer 是一个 C# .NET 类库,允许应用程序创建 PDF 文件. PDF File Writer C# 类库使 .NET 应用程序能够生成 PDF 文档.该库使应用程序免 ...
- SpringBoot 实现整合log4j2日志
关于日志级别 共有8个级别,按照从低到高为:All < Trace < Debug < Info < Warn < Error < Fatal < OFF. ...
- RedisPool
class RedisPool(object): instance = None def __init__(self, host='192.168.2.129', port=7000, passwor ...