从青铜到王者系列 (1): 手把手教你用 WSL 2 在 Windows 11 家庭版上安装 Docker,开发必备教程!

如何学习
【图文硬核】手把手教你用 WSL 2 在 Windows 11 上安装 Docker,开发必备教程!
英文:Installing Docker on Windows 11 using WSL 2: A Step-by-Step Guide
读者提问:
Windows 下想使用 Linux 环境,WSL、Docker、VM 应该怎么选择?
windows 上跑 linux 用虚拟机好还是 WSL 好?
Win11 家庭版如何开启 Hyper-V?

从招聘岗位考虑,看别人招聘什么我就学什么
技能要求:
熟练掌握 CI/CD 自动化持续集成流程与工具,具备丰富的实践经验。
精通 Docker 技术,包括 Dockerfile 编写、镜像管理与容器部署。
熟练使用 Docker Compose 进行多容器编排与管理。
有 Kubernetes 实际搭建与使用经验者优先。
Docker 和 CI/CD 关系?
持续集成(Continuous integration) 是一种软件开发实践,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
持续部署(continuous deployment) 是通过自动化的构建、测试和部署循环来快速交付高质量的产品
Docker 是一种开源的容器化平台,通过将应用程序及其依赖打包成独立的容器,实现跨环境的快速部署和一致性运行。
Docker 为 CI/CD 提供了标准化的环境和高效的部署方式,而 CI/CD 则通过自动化流程实现 Docker 容器的快速交付,二者结合显著提升了开发效率和软件质量。
从市场上有流程产品
自然选择 Docker
一、Docker 安装的必备条件
因为 Windows 上安装 Docker 实际上是基于 Hyper-V 或者 WSL2 这两项虚拟化技术
预备知识:推荐优先使用 WSL 2 作为后端。
Windows 11 用户在使用 Docker Desktop 时,可以选择 WSL 2 或 Hyper-V 作为后端运行环境。这两种方案各有特点,你可以根据自身需求进行选择:
WSL 2 比较适合开发环境。
Hyper-V 则更适用于生产环境,特别是在需要高性能和稳定性的情况下。
1.1 基础要求
不管选择哪种后端方案,你的设备都必须满足以下基本条件:
1.2 后端要求
Windows 11 (64-bit)
(Win + I)命令查看
Windows 11 家庭版中,Hyper-V 功能默认不可用,因为微软仅在专业版、企业版和教育版中预装了 Hyper-V。家庭版用户无法直接通过“启用或关闭 Windows 功能”启用 Hyper-V。
Hardware virtualization enabled at the BIOS level
使用纯文本和 ASCII 字符描述的 WSL、Docker 与 Hyper-V 的关系图
+-----------------------+| Windows 11 操作系统 |+-----------------------+|v+-----------------------+| Hyper-V | <- 提供虚拟化支持+-----------------------+|v+-----------------------+| WSL 2 | <- 运行 Linux 内核+-----------------------+|v+-----------------------+| Docker Desktop | <- 管理容器+-----------------------+|v+-----------------------+| Docker 容器(Linux) | <- 运行应用程序+-----------------------+
WSL 2 是 Hyper-V 的上层应用,依赖 Hyper-V 的虚拟化功能。
Docker Desktop 使用 WSL 2 作为后端,通过 WSL 2 运行 Linux 容器。
Hyper-V 是底层虚拟化技术,支持 WSL 2 和 Docker Desktop
说明:
WSL2 简介
WSL2 是适用于 Windows 11 的 Windows 子系统的一个新版本,它提供了更完整的 Linux 内核功能以及更好的系统性能。与传统的 Windows 应用运行环境不同,
WSL2 相比 WSL1 具有以下显著优势:
**完整的 Linux 内核:WSL2 包含了一个真正的 Linux 内核,这使得它能够运行更多类型的 Linux 应用,并且在系统调用和文件系统方面具有更好的兼容性和性能表现。例如,一些需要特定 Linux 内核特性的应用或工具,如 Docker 所依赖的一些底层功能,在 WSL2 中能够更好地运行。
显著提升的文件系统性能:WSL2 采用了新的虚拟硬盘格式(.vhdx)以及 9P 协议来与 Windows 文件系统交互,这大大提高了文件系统的读写速度。在使用 Docker 时,容器内文件的操作速度更快,从而提升了容器的启动速度和整体性能。
第一步: 开启虚拟化
开启虚拟化(默认已经开启):
否开启虚拟化可以直接在“任务管理器(启动:CTRL + ALT + Delete)--性能--CPU“中查看

如果虚拟化显示”已启用“就说明没问题,如果没启用就需要进主板 BIOS 中开启
在 BIOS 模式下开启 CPU 的虚拟化 开机启动的时候按下 F2 或者 Del 即可进入 Blos 模式。然后点击高级,点 intel 虚拟化技术,点击开启,全部操作完成后,按下 F10 确认保存,即可
第二步: 开启 Hyper-V
在 Windows 11 家庭版中,Hyper-V 功能默认不可用,因为微软仅在专业版、企业版和教育版中预装了 Hyper-V。家庭版用户无法直接通过“启用或关闭 Windows 功能”启用 Hyper-V。
解决方法:
如果您确实需要在 Windows 11 家庭版中启用 Hyper-V,可以通过以下步骤尝试强制安装 Hyper-V 功能:
创建批处理文件:
在桌面上新建一个文本文件,命名为
Hyper-V.cmd
。
以管理员身份运行:
右键点击
Hyper-V.cmd
文件,选择“以管理员身份运行”。(大概 5-10 分钟)按提示操作,完成后重启计算机。
检查是否成功:
重启后,按
Win + R
键,输入optionalfeatures
,打开“启用或关闭 Windows 功能”窗口。(控制面板中也打开)检查 Hyper-V 是否已勾选并启用。


整理: 如何检查是否成功启用了 Hyper-V?
1、检查 Hyper-V 服务是否启动
按 Win+R 输入 services.msc 并按 Enter 键打开服务窗口,检查全部以 Hyper-V 开头的服务是否处于正在运行状态。
2、检查 Hyper-V 启用状态
在 PowerShell 中支持此命令:Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V,检查状态是否为已启用。
3、检查 Hyper-V 能否开启
直接在搜索框中输入 Hyper-V,检查 Hyper-V 管理器选项是否出现
第三步 安装 WSL 2
启用 linux 子系
WSL 2 allows you to run Linux distributions natively on Windows,
用管理员身份打开 powershell ,然后输入如下命令回车:
启动虚拟机功能(Enable the Virtual Machine Platform)
由于我们后续要安装 docker desktop,需要依赖于 wsl 2,所以需要启动 Windows 自带的虚拟机平台功能,
Restart your computer
第四步: 安装 Linux 发行版
Windows Subsystem for Linux (WSL) is a feature of Windows that allows you to run a Linux environment on your Windows machine, without the need for a separate virtual machine or dual booting. WSL is designed to provide a seamless and productive experience for developers who want to use both Windows and Linux at the same time.
在 Windows 11 上安装 WSL 2 的过程如下:
启用 WSL ---完成
启用“虚拟机平台”--完成
设置 WSL 2 为默认值
安装 Linux 发行版

Installing, this may take a few minutes...Please create a default UNIX user account. The username does not need to match your Windows username.For more information visit: https://aka.ms/wslusersEnter new UNIX username: money/123
第五步:WSL2 用法
wsl --status 默认分发: docker-desktop 默认版本: 2
Windows WSL 配置 ubuntu 环境并登录
方法一:使用 Ubuntu 自带的终端窗口方法二:使用 Windows Terminal 登录
wsl 控制台与 win10 之间复制粘贴的实现
二、 与 Docker Desktop 集成

在 Linux 系统上,安装 Docker 非常简单——你只需要在「终端」中输入几行命令,系统就能自动完成安装和配置,So Easy🎊!
但在 Windows 11 系统上,情况就变了🌚——你需要依赖 WSL2 或者 Hyper-V 虚拟化平台作为后端,才能运行 Docker Desktop。
下载
https://www.docker.com/products/docker-desktop/ 不要选择 实验班版本,window11 提示无法安装
安装过程
Go to Settings > General
Ensure Use the WSL2-based engine is checked and go to Settings > Resources > WSL Integration lastly enable integration with your installed Ubuntu distribution
![[Pasted image 20250315160756.png]]
三、与 VSCODE 集成
设置你最喜欢的代码编辑器
建议使用 Visual Studio Code 或 Visual Studio,因为它们直接支持使用 WSL 进行远程开发和调试。 Visual Studio Code 使你能够将 WSL 用作功能完备的开发环境。 Visual Studio 提供了对 C++ 跨平台开发的本机 WSL 支持
GitHub 配置 ssh 免密码登录
git 设置:
git config --global user.email wangjia@163.comgit config --global user.name wangjia
冲突解决:git reset --hard 6f684a48c4cec1a9b2f3c66f94dde793a84e5a76//Resets the index and working tree.
WSL+VSCode 食用指南
一、背景通过适用于 Linux 的 Windows 子系统使用 Visual Studio Code 二、WSL + VSCode 原理架构
插件 Code Spell Checker
VSCode 在新窗口打开文件,不覆盖旧窗口
一、背景 vscode 每次看代码时候,打开一个文件,覆盖原有的文件二、工具
. 在 用户—>工作台—>编辑管理 选项卡下拉找到Enable Preview
(或者直接搜索 Enable Preview,找到编辑管理里的 Enable Preview),去掉这个选项的勾
FQA
wsl2 模式下 ping 不同网络?
wsl -l -vNAME STATE VERSION
docker-desktop Stopped 2Ubuntu-22.04 Running 2networkingMode=Mirrored # 镜像网络模式 配置镜像模式网络:直接从局域网连接到 WSL
wsl --shutdown
3 WSL2 Ubuntu 系统占用 C 盘空间过大的问题分析与解决
轻松搬迁!教你如何将 WSL 从 C 盘迁移到其他盘区,释放存储空间!
参考
[1] Hyper-V 技术概述 done[2] 如何启动 Windows 11 任务管理器 done[3] https://www.linkedin.com/pulse/installing-docker-windows-11-using-wsl-2-step-by-step-ankit-lodaf[4] windows 上安装 docker 有什么作用? https://www.zhihu.com/question/3931662
【5】 https://www.cnblogs.com/ittranslator/p/14128570.htmlhttps://learn.microsoft.com/en-us/windows/wsl/about【6】 https://zhuanlan.zhihu.com/p/617357186
版权声明: 本文为 InfoQ 作者【程序员老王】的原创文章。
原文链接:【http://xie.infoq.cn/article/e31650c314c7be74111e76286】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论