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 ...
随机推荐
- (五)Jira Api对接:修改任务状态
项目迭代结束后我们需要把sprint下面的story.task任务状态修改到结束状态,如果手动修改会花费不少时间,本文就介绍如何通过jira api自动修改任务状态,提高工作效率. 一.查看任务工作流 ...
- ES6中函数参数默认值问题
参数默认值 // 以前的参数默认值写法 let fn = (a, b) => { a = typeof a === "undefined" ? 10 : a b = type ...
- KVM 添加新硬件
1 显卡 spice 2视频 qxl驱动 3 声音 ich6最好 ich9最清楚 4 输入 鼠标 智能图 否则不能VNC找不到焦点 5 磁盘大小 至少80G 否则 无法自动安装 无swap和 ...
- python从hello world开始(3)
"""# !usr/bin/env python# -*- coding:utf-8 _*-""""""@Au ...
- Linux_网络基础管理
一.网卡的命名 1.传统网卡命名 eth0.eth1.eth2.eth3......... wlan0.wlan1.waln2.wlan3......... 2.RHEL7命名机制 systemd对网 ...
- 怎样使用yum-cron为CentOS7自动更新重要的安全补丁
怎样使用yum-cron为CentOS自动更新重要的安全补丁 2017年4月19日 | 分类: [技术] 参考:https://linux.die.net/man/8/yum-cron参考:http: ...
- ZooKeeper IDEA 可视化管理插件安装
1. 安装 zookeeper 插件 打开 IDEA->Settings->Plugins,然后在 Marketplace 输入 "zookeeper" 如下: 插件安 ...
- Linux进阶之排错
Permission denied 检查selinux长时间没有响应 防火墙 nginx和httpd可以自检nginx和httpd有日志 /var/log/nginx/ /var/log/httpd/ ...
- 关于UCOSII的学习资料
UCOSII学习资料: 在战舰的A盘资料包中 ->软件资料->ucosii 有一个叫做简易OS讲解的文档,此文从简单的OS将其,通俗易懂的讲解大体的OS运行原理,任务调度的实现过程,是入门 ...
- python文件处理(对比和筛选)版本2
场景:对比两个txt文件的差异,将对比结果写入html,将不同部分写入另一个txt #!/user/bin/python #!coding=utf-8 # -*- coding: utf-8 -*- ...