安装WSL2、Docker全网最最详细教程之一
一、Windows允许虚拟服务的设置
这是最底层的准备工作,相当于为 WSL2 准备好“地基”。它需要启用两个关键的 Windows 可选功能:
- 适用于 Linux 的 Windows子系统:提供 WSL 的基础 API 和管理接口。
- 虚拟机平台:提供 Hyper-V 虚拟化能力,让 WSL2 能在轻量级虚拟机中运行真实内核。
这两个功能必须通过管理员权限的 PowerShell 命令或在控制面板“启用或关闭 Windows 功能”界面开启,并重启电脑后才能生效。没有它们,后续所有操作都无法进行。
二、安装WSL以及wsl内核
1、一键安装wsl框架和内核(需要魔法)
正常情况下输入以下命令运行,并等待其自动完成即可。
wsl -install一般运行后会出现下图(注意一键安装的过程中需要魔法)
但是如果上述命令运行后,在下载wsl内核的时候出现网络受限或者说下载得到的内核版本太旧,就需要进行手动安装wsl内核。a哥也在下面详细介绍了手动下载内核的方式。
2、手动下载
2.1 下载WSL的内核
附内核下载地址 ,地址里选择.msi后缀的文件进行下载,根据网速需要十几分钟到半小时不等。
下载好WSL内核之后,双击运行,然后依次点击下一步,....完成。重新打开一个新的powershell,输入命令检查内核是否安装成功。注意更新或者新安装了wsl内核后一定要用命令
wsl --shutdown 重启wsl
使用命令 wsl --version查看内核和wsl服务是否正常
2.2 下载Linux发行版(这里以Ubuntu 22.04为例)
方法一、使用命令下载
方法二、手动下载发行版安装包,然后导入。对于分发版提供两个选择:
下载链接1 (.wsl 支持日常学习、轻度开发)因为它已经内置了轻度的工具
输入命令:wsl --import <分发版名称> <安装路径> <.wsl 文件路径> --version 2
其中 <分发版名称> 是你自己命名的。<安装路径>也是自定义的,不过要在执行这个命令前在文件系统创建这个目录。
下载链接2 (rootfs,支持服务器部署、容器化、高度定制化)因为里面就是纯净的wsl环境
输入命令:wsl --import <分发版名称> <安装路径> <rootfs.tar.gz 文件路径> --version 2
其中<分发版名称> 是自己命名的。<安装路径>也是自定义的,不过要在执行这个命令前在文件系统创建这个目录。
如图,输入命令出现下面的就是正常
导入成功见下图
同时一般导入成功之后,会出现这个弹窗。
三、安装好WSL2后
1、导入成功一定要做的步骤
1.1输入 wsl -d Ubuntu22 进入系统。
1.2在 Linux 终端里输入以下命令创建用户(把 yourname 换成你想要的用户名):
a.新建用户并加入用户组里:
b.确保用户名为小写之后,按提示输入两次密码:
c.退出 WSL (exit),回到 PowerShell,执行这条命令把它设为默认登录用户:
注意的是:用户名不符合 Linux 系统默认的用户名命名规则导致的。Linux 的 adduser 命令会根据 /etc/adduser.conf 中定义的 NAME_REGEX 正则表达式来校验用户名,而用户名包含大写字母,被系统判定为无效名称。
四、安装Docker desktop
1、下载 Docker下载官网
(1)选择那个amd64的Docker desktop(电脑是x86的)
有人问我们不是在windows电脑上安装了WSL2吗,不是应该安装Linux版本?
你可以把 Docker Desktop 想象成一个“大管家”,而 WSL2 是它手下的“苦力”。
Docker Desktop (Windows版):它负责在 Windows 界面上给你提供一个可视化的操作面板(Dashboard),让你能方便地管理镜像、容器,还能自动处理网络映射(比如把容器里的端口映射到 Windows 的 localhost)。
WSL2:它负责在后台干脏活累活。Docker Desktop 安装后,会自动在你的 WSL2 里配置好环境,让容器真正跑在 Linux 内核上。
2、双击运行Docker
注意运行后应该会出现弹窗,选择 use wsl instead of hyper-v.如果没有出现也没事,因为大部分默认是支持wsl.
3、启动之后
如果之前你的wsl框架以及内核华友分发版安装成功之后,你的Dockerdesktop启动后应该会出现下面的页面。可以看见右边,是对如何部署第一个容器有简单的说明。
4、使用Docker desktop管理
如果我们想在Windows上用 Docker Desktop 管理,同时能在 WSL 的终端里使用 docker 命令。就需要点击setting(右上角齿轮图案)--->resource--->wsl integration
截止到现在,如果读者看a哥文章到这里,那么恭喜你的WSL和Dockerdesktop已经配置好了。接下来就可以去部署一个项目到docker里了。
下面是一些常见的问题以及相关解答,如果有错误的地方,还希望读者能提出便于后学者不会产生错误理解。
问题:
1、首次启动 WSL 时会提示创建用户名和密码。这个用户名密码重要吗?
这个账号会被视为该 Linux 发行版的默认管理员账户。以后您在 WSL 中执行需要管理员权限的命令(例如安装软件、修改系统配置等)时,都需要使用 sudo 命令,此时系统就会要求您输入这个密码来进行身份验证。与 Windows 账户完全独立。如果您安装了多个不同的 Linux 发行版,它们各自都有独立的用户名和密码。如果您不小心忘记了这个密码,也不用担心,可以通过 Windows 的 PowerShell 强制重置。具体步骤如下:
- 以管理员身份打开 PowerShell。
- 输入命令 wsl -u root 进入 WSL 的 root(超级管理员)模式。
输入 passwd <您的用户名>,然后根据提示输入并确认新密码即可。
2、为什么使用rootfs而不使用ISO镜像?
| 特性 | ISO 镜像 | WSL rootfs.tar.gz |
|---|---|---|
| 用途 | 虚拟机/物理机安装 | WSL 专用轻量系统 |
| 包含内容 | 引导程序、内核、图形界面、驱动 | 仅根文件系统(/bin, /etc, /usr 等) |
| 大小 | 3–4 GB | ~300 MB |
| 是否兼容 WSL | ❌ 不兼容 | ✅ 原生支持 |
3、如何查看是否导入分发版以及如何注销分发版本?
4、分发版是以离线包形式导入指定盘符是否还需要迁移?
不需要迁移,常见有以下两种方式,(为了空间)第一种才需要迁移:
- 在线安装/默认安装:如果你是用 wsl --install 或者微软商店安装的,系统会默认把文件塞进 C 盘的用户目录下(C:\Users\...\AppData\...)。那种情况才需要“导出-注销-导入”来搬家。
- 导入分发版的离线包:最开始是直接用了 wsl --import ... D:\WSL\...,相当于出生就在 D 盘,一步到位。
5、如果说你先是导入了一个分发版,但是后来对这个不满意,是否可以删除?
当然可以,使用命令:wsl --unregister <你的分发版名字>
其中分发版名字是使用 wsl --status命令显示出来的。
总结
以上就是作者对WSL2安装的总过程以及安装Docker desktop的全部过程,以及Docker的简单知识,如果后面读者有需要的话作者也会继续更新。
如果这篇文章对你有帮助的话,希望各位观众姥爷能够一键三连!你的点赞关注是我持续创作的动力。
