前景介绍:

WSL是“Windows Subsystem for Linux”的缩写,顾名思义,WSL就是Windows系统的Linux子系统,其作为Windows组件搭载在Windows10周年更新(1607)后的Windows系统中。

既然WSL是“子系统”,那么WSL的地位我们能大概推测出——

  1. “子系统”作为系统层的一部分,相较于应用层(虚拟机)会消耗更少的资源,并且与系统锲合度更高。
  2. 因为“子系统”依附于“系统”,所以“子系统”会受到一些限制。

事实上,的确是这样!只需要打开一个类似CMD的Bash命令行窗口,你的WSL就可以使用了(相当于建立了一个Session,因为WSL会一直伴随Win10的运行而运行),相对于从虚拟机启动既省时又省力。
除此之外,虽然WSL不是完整的Linux系统,但你依然可以做到绝大多数在完整Linux系统能做的事(比如vim, apt-get等)。

我们知道,Linux是一个系统内核,那么WSL是Linux发行版吗?并不是。WSL本质上是系统层面对Linux内核的支持

1.在PowerShell中安装 wsl

wsl --install

如果wsl安装不了,先将步骤2中的额外内核包下载安装

2.检查正在运行的 WSL 版本

wsl -l -v

arm架构docker安装vsftpd_docker

如果 VERSION 是 1 的话,可以通过 wsl --set-version Ubuntu-22.04 2 将 version 版本改为 2

可能遇到的问题

如果将版本从1更改为2失败,(或者没有wsl,可以先完成第三步再下载后面这个内核包),需要额外的内核包,则下载https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi该内核包,并运行安装

安装完后,重启,再次将默认version版本更改为 2

3. 设windows相关配置

导航栏搜索【启用或关闭windows功能】

勾选【适用于linux和Windows子系统】和【虚拟平台】和【Windows 虚拟机监控程序平台】

arm架构docker安装vsftpd_docker_02

以管理员身份运行PowerShell,运行

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

4.Microsoft Store应用商店下载Ubuntu 20或22版本

arm架构docker安装vsftpd_Windows_03


第一次启动需要几分钟时间

arm架构docker安装vsftpd_docker_04


然后设置用户名,密码

这时算是安装好了Windows下的linux发行版本了

4.2 使用Winget安装PowerShell(可选)

先搜索最新版的powershell

winget search Microsoft.PowerShell

arm架构docker安装vsftpd_docker_05


如果没有winget的话

winget install --id Microsoft.Powershell --source winget
winget install --id Microsoft.Powershell.Preview --source winget
以上任选一个版本下载即可

可能出现的问题
没有winget
在PowerShell中运行如下 去安装winget

Install-Module -Name Microsoft.WinGet.Client

更改默认启动的终端

arm架构docker安装vsftpd_vscode_06

5.安装docker destop

此时如果在Ubuntu子系统中安装docker,则无法启动docker服务,没有systemctl
可以通过安装docker destop来运行docker

  1. 点此下载安装最新版的docker
  2. 打开docker destop后进入设置页面,打开对应的ubuntu发行版本
    此时无论进入WSL发行版(ubuntu)或者PwerShell都可以进行docker操作了

可能出现的问题

docker桌面版,通过左下角点开或者在桌面版上岸 ctrl+, 就会闪退
解决:
暂未解决,打开页面后,直接点击右上角的设置,进入设置页面,不要按ctrl+,或者右下角的标志


6.使用VSCODE中在远程容器中开发

1.安装 VS Code WSL 扩展

arm架构docker安装vsftpd_docker_07


此扩展使你能够在 VS Code 中打开在 WSL 上运行的 Linux 项目(无需担心路径问题、二进制兼容性或其他跨 OS 的难题)。

2.安装 VS Code 开发容器扩展(Dev Containers)

arm架构docker安装vsftpd_docker_08


此扩展使你能够打开容器内的项目文件夹或存储库,并利用 Visual Studio Code 的完整功能集在容器中执行开发工作。

3.安装 VS Code Docker扩展(docker)

arm架构docker安装vsftpd_Windows_09


此扩展添加了从 VS Code 内生成、管理和部署容器化应用程序的功能。 (需要开发容器扩展才能将容器实际用作开发环境。)