ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
今天,我跟大家分享一个好玩的东西:WSL 2(Windows Subsystem for Linux 2)。WSL 2 很有意思,它是基于Hyper-V 功能的子集提供了“**真正的 Linux 内核**”。怎么理解这句话呢?大家设想,我们平时的研发办公环境需要Windows,而开发环境需要 Linux 系统,我们会怎么做? * 方案一:安装主机双系统,实现物理隔离。 * 方案二:安装虚拟机,例如使用 VMware 来实现完整的使用体验。 * 方案三:使用 Docker 容器。 其中,方案一成本最高,需要两台以上的物理机,而方案二资源消耗大、运行效率低,而方案三“容器化”方案是我们目前较多采用的方案。而最新的 Windows 版本(对于x64系统:版本1903或更高版本,以及内部版本18362或更高版本)通过 WSL2 技术支持在原生的系统上使用到 Linux 内核,实现 Linux 子系统化。 ![](https://img.kancloud.cn/f1/5f/f15f6c121d1d5d74cebafe936a52992d_746x488.jpg) ## WSL 2 使用之旅 现在,让我们来一探究竟吧。要更新到WSL 2,我们必须正在运行 Windows 10。这里,官方对于 Windows 10 版本是由要求的。 * 对于 x64 系统:版本 1903 或更高版本,以及内部版本 18362 或更高版本。 * 对于 ARM64 系统:2004 或更高版本,内部版本19041或更高。 * 低于18362 的内部版本不支持 WSL2。使用 Windows Update Assistant 来更新 Windows 版本。 我们可以通过选择`Windows徽标键+ R` 键入`winver` ,然后选择确定。 ![](https://img.kancloud.cn/0d/ad/0dad9c441dd62320b38965b4547c4bd4_424x251.jpg) 下图,就是我的电脑的版本号了。如果你运行的是 Windows 10 版本1903 或 1909,请从 Windows 菜单中打开“设置”,导航至“更新和安全”,然后选择“检查更新”。 ![](https://img.kancloud.cn/56/90/5690131ec62a25136c5441a62fb3114d_534x523.jpg) 紧接着,我们需要确保开启**`适用于 Linux 的 Windows 子系统`** 和**`虚拟机平台`** 配置项。 ![](https://img.kancloud.cn/79/95/7995048583a55610ba690831db440bcf_620x725.jpg) 这里,我们也可以以管理员身份打开 PowerShell 用命令方式安装。 首先启用**`虚拟机平台`**功能。 ~~~bash dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart ~~~ 然后重启下,启用**`适用于 Linux 的 Windows 子系统`**功能。 ~~~bash dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart ~~~ 然后呢,我们还需要下载最新 Linux 内核更新程序包。 下载地址:[https://wslstorestorage.blob.core.windows.net/wslblob/wsl\_update\_x64.msi](https://link.segmentfault.com/?enc=dPmCVl9iEeVKDoAE3AP3Hw%3D%3D.7GjNL5a9cxaOVFVnB1HEJhM9X7v%2BRZUD%2BDtGucj7mU1b77UmgHQdmaJPqVqiibjCK7dp2S%2Fmkci1%2BKWVl10Lqtc3QHTlKTsGf448YyxAlIU%3D) 安装完成后,将 WSL 2 设置为默认版本。 ~~~actionscript wsl --set-default-version 2 ~~~ 最后,我们安装自己需要的 Linux 发行版。 ![](https://img.kancloud.cn/f1/5f/f15f6c121d1d5d74cebafe936a52992d_746x488.jpg) 我比较熟悉使用 CentOS,而应用商店中的 CentOS 是收费版本,而 github 上面有 CentOS 官方开源的安装包,我们这里使用 github 上的安装包进行安装。地址:[https://github.com/CentOS/sig-cloud-instance-images/](https://link.segmentfault.com/?enc=Pij0IWlaoX%2BK8l7ER338%2BQ%3D%3D.bh0xgeQulaDWFH5uvllF29RvFF%2BSWmyZHjXeOLZaF7Ppi6VGP%2F2KRvMjGgUsyPZrJDHtm8Ph5BZVdV2nfjXAPg%3D%3D) 安装完毕后,进入命令行,可以查看版本清单。 ~~~ebnf wsl -list -verbose ~~~ 通过输入`wsl` 命令都可以进入CentOS7系统。 ![](https://img.kancloud.cn/df/1c/df1c92cfd4b9db90bd87e3a3064d16e5_696x280.jpg) 至此,我们可以在原生的 Windows 10 玩转 Linux 系统了。 ## Docker Desktop WSL 2 现在,我来说一个更好玩的特性。因为,WSL 2 引入了重大的体系结构更改,它是由 Microsoft 构建的完整 Linux 内核,允许 Linux 容器在没有仿真的情况下本机运行。因此,通过在 WSL 2 上运行的 Docker Desktop,用户可以利用 Linux 工作区。此外,WSL 2 改进了文件系统共享,启动时间,并允许 Docker Desktop 用户访问一些很酷的新功能。Docker Desktop 使用 WSL 2 中的动态内存分配功能极大地减少了资源消耗。这意味着,Docker Desktop仅使用所需数量的所需 CPU 和内存资源,同时使 CPU 和内存密集型任务(如构建容器)运行得更快。此外,使用WSL 2,冷启动后启动 Docker 守护程序所需的时间明显更快。与之前版本的 Docker Desktop 几乎需要一分钟相比,启动 Docker 守护程序所需的时间不到 10 秒。 在安装 Docker Desktop WSL 2 之前,必须完成以下步骤: * 下载 Docker Desktop Stable 2.3.0.2 或更高版本。 * 安装 Windows 10 版本 1903 或更高版本。 * 在 Windows 上启用 WSL 2 功能。 ![](https://img.kancloud.cn/5b/94/5b949000448b5576d0c746f4f27a8fa2_746x446.jpg) ![](https://img.kancloud.cn/e0/9f/e09fcbe16061acf57e6c2f1bbac9850a_746x433.jpg) ## 参考文献 * [Windows Subsystem for Linux Installation Guide for Windows 10](https://link.segmentfault.com/?enc=LKZ9V1MyELF7sFZXA4pg2w%3D%3D.he2%2F1lMoYCOlIo092MguLSoybJyEbQ0TvhYdacBMRDvNJd9e92YBuQ4weMfbY9ESbwBOj2DhlL3EP5qxdbSe6A%3D%3D) * [Docker Desktop WSL 2 backend](https://link.segmentfault.com/?enc=RBU0W8sMhdsKHT6BMX2eJQ%3D%3D.uKpkp2Aqvb7EDCr%2F0VsIGQx2C%2B1LXygOCwdvVe0gcWMhVO4%2FOH6zbpjpsHWw8Vv9) ## 写在末尾 【服务端思维】:我们一起聊聊服务端核心技术,探讨一线互联网的项目架构与实战经验。让所有孤军奋战的研发人员都找到属于自己的圈子,一起交流、探讨。在这里,我们可以认知升级,连接顶级的技术大牛,连接优秀的思维方式,连接解决问题的最短路径,连接一切优秀的方法,打破认知的局限。