【2026版】Windows 安装 Docker 保姆级教程

【2026版】Windows 安装 Docker 保姆级教程
🚀 告别环境配置烦恼,一键部署容器化应用

一、为什么选择 Docker?

  • 跨平台一致性:一次构建,处处运行
  • 资源高效利用:秒级启动,隔离进程
  • 微服务友好:简化复杂应用部署
  • 生态丰富:海量官方镜像开箱即用

二、安装前必读:两大版本区别

版本适用设备市场占有率
AMD64Intel/AMD 主流 CPU 的 Win10/11>99%
ARM64Surface Pro X 等 ARM 架构设备<1%
💡 普通用户 99% 选 AMD64!
查看本机架构:设置 > 系统 > 关于 → 检查 “系统类型”

三、安装步骤详解(以 AMD64 为例)

1️⃣ 启用必备组件

# 以管理员身份打开 PowerShell 执行: dism.exe /online /enable-feature/featurename:Microsoft-Hyper-V /all /norestart dism.exe /online /enable-feature/featurename:VirtualMachinePlatform /all /norestart 

重启电脑生效!

这两条 PowerShell 命令是通过 dism.exe 工具启用 Windows 系统的两个核心虚拟化组件,为 Docker Desktop 运行容器提供底层支持。

在这里插入图片描述
1、命令背景:dism.exe 是什么?

dism(Deployment Image Servicing and Management,部署映像服务和管理工具)是 Windows 内置的系统维护工具,可用于启用/禁用系统功能、修复系统映像等。这里的 /online 参数表示操作当前正在运行的 Windows 系统(而非离线映像)。

2、逐条命令解析
2.1 第一条命令:启用 Hyper-V 虚拟化平台
 dism.exe /online /enable-feature/featurename:Microsoft-Hyper-V /all /norestart 
在这里插入图片描述
  • 核心作用:启用 Windows 自带的 Hyper-V 虚拟化引擎(微软官方的 Type-1 hypervisor,直接运行在硬件之上)。
  • 参数说明
    • /enable-feature:启用指定系统功能;
    • /featurename:Microsoft-Hyper-V:目标功能是 Hyper-V(包含 Hyper-V 管理器、虚拟机监控程序等);
    • /all:启用该功能所有子组件(避免遗漏依赖);
    • /norestart:临时不重启系统(后续需手动重启生效)。
  • 为什么需要 Hyper-V?Docker 本质是“容器引擎”,但 Windows 原生不支持 Linux 容器(早期 Docker for Windows 需通过 Hyper-V 创建一个轻量级 Linux 虚拟机,作为容器的运行载体)。即使现在推荐 WSL 2 后端,Hyper-V 仍是部分场景的底层支撑(如 Windows 容器模式)。
2.2 第二条命令:启用 WSL 2 虚拟机平台
 dism.exe /online /enable-feature/featurename:VirtualMachinePlatform /all /norestart 
在这里插入图片描述
  • 核心作用:启用 WSL 2(Windows Subsystem for Linux 2)所需的虚拟机平台组件
  • 参数说明
    • /featurename:VirtualMachinePlatform:目标功能是 “虚拟机平台”(专门为 WSL 2 设计的轻量级虚拟化层,基于 Hyper-V 技术但更精简);
    • 其他参数同上(/all 启用所有子功能,/norestart 暂不重启)。
  • 为什么需要 VirtualMachinePlatform?Docker Desktop 现在默认推荐 WSL 2 作为后端(替代传统 Hyper-V 虚拟机),而 WSL 2 本质是一个“轻量级虚拟机”(运行真正的 Linux 内核)。VirtualMachinePlatform 正是 WSL 2 运行的必要基础——没有它,WSL 2 无法启动,Docker 也就无法通过 WSL 2 高效运行 Linux 容器。
3、为什么要同时启用这两个组件?

简单说:Docker 在 Windows 上的运行依赖“虚拟化环境”,而这两个组件共同构成了虚拟化的基础:

  • Hyper-V:传统虚拟化引擎,为早期 Docker 提供 Linux 虚拟机载体;
  • VirtualMachinePlatform:WSL 2 专用轻量虚拟化层,是现代 Docker 推荐的“高效后端”。

现在 Docker Desktop 安装时会自动检测并优先使用 WSL 2(需 VirtualMachinePlatform 支持),若 WSL 2 不可用才会回退到 Hyper-V。因此,启用这两个组件是为了确保 Docker 有可用的虚拟化环境,避免“缺少依赖”导致安装失败。

4、注意事项
  1. 硬件要求:这两个功能依赖 CPU 虚拟化技术(Intel VT-x / AMD-V),需在 BIOS/UEFI 中开启(开机按 Del/F2 进入设置,找到“Virtualization Technology”并启用)。
  2. 系统版本限制
    • Hyper-V 仅支持 Windows 10/11 专业版、企业版、教育版(家庭版需通过脚本破解,但不推荐);
    • WSL 2 和 VirtualMachinePlatform 支持 Windows 10 2004+ / Windows 11 所有版本(包括家庭版)。
  3. 重启生效:执行命令后需重启电脑,组件才能正式激活(命令中的 /norestart 只是暂时不重启,最终必须重启)。
5、总结

这两条命令的本质是:为 Docker 在 Windows 上运行“铺路”——启用系统自带的虚拟化组件,让 Docker 能创建容器运行所需的“沙箱环境”

普通用户只需按步骤执行,重启后即可继续安装 Docker Desktop~

6、验证
验证1:检查 WSL 2 是否可用(针对 VirtualMachinePlatform)

重启后,在cmd中输入命令:>wsl --status。
若输出中包含 默认版本: 2和 内核版本: …,说明 VirtualMachinePlatform已生效(WSL 2 依赖它)。

在这里插入图片描述
验证2:检查 Hyper-V 服务是否运行(针对 Microsoft-Hyper-V)

重启后,打开“服务”(services.msc),查找以下服务:

  • Hyper-V 虚拟机管理
  • Hyper-V 主机计算服务

若状态为 “正在运行”,说明 Hyper-V 组件已生效(部分场景下可能按需启动,非必须一直运行)。

在这里插入图片描述

2️⃣ 安装 WSL 2 内核更新包

👉 双击安装
若提示:您的系统已安装了更高版本的 Windows 子系统 Linux 更新。安装程序即将退出。

在这里插入图片描述

执行:

wsl --set-default-version 2 
在这里插入图片描述

3️⃣ 下载 Docker Desktop

官网下载
✅ 认准 “Download for Windows - AMD64” 按钮

在这里插入图片描述

4️⃣ 安装并启动

1. 双击下载的 Docker Desktop Installer.exe
2. 勾选 ✅ Use WSL 2 instead of Hyper-V(推荐)
在这里插入图片描述


要理解 Docker Desktop 安装界面这三个选项的含义,我们可以逐个拆解:

意思是 “使用 WSL 2 替代 Hyper-V(推荐)”

  • WSL 2:全称 Windows Subsystem for Linux(Windows 子系统 for Linux) 的第二代技术。它让 Windows 能直接运行 Linux 内核环境,无需传统虚拟机(如 Hyper-V)的完整硬件模拟,对系统和开发流程的“侵入性”更低,且性能更接近原生 Linux。
  • Hyper-V:是 Windows 自带的全功能虚拟化技术(类似 VMware、VirtualBox),但 Docker 选择用 WSL 2 替代它,是因为 WSL 2 对 Docker 容器的集成度更高、启动更快、资源占用更优,是官方推荐的默认方案。
2. Allow Windows Containers to be used with this installation

意思是 “允许此安装使用 Windows 容器”

  • Windows 容器:是专门为 Windows 系统(如基于 Windows Server、.NET Framework 等环境)设计的容器。和常见的“Linux 容器”(基于 Linux 内核)不同,Windows 容器依赖 Windows 内核特性,只能运行 Windows 原生应用或框架(如 .NET Framework 应用)。
  • 勾选后,Docker Desktop 不仅能运行常规的 Linux 容器,还支持 Windows 容器;但需注意:Windows 容器的生态、兼容性、资源占用和 Linux 容器有明显差异,底部提示也强调 “需了解风险后再开启”(比如 Windows 容器对宿主系统的版本要求更严格)。
3. Add shortcut to desktop

意思是 “在桌面添加快捷方式”

非常直观:勾选后,Docker Desktop 的启动快捷方式会自动出现在电脑桌面,方便你后续一键打开程序~

简单总结:

  • 第一个选项决定 Docker 运行容器的“底层技术栈”(推荐用更轻量的 WSL 2);
  • 第二个选项决定是否扩展支持 Windows 生态的容器(按需开启,需了解风险);
  • 第三个选项是“是否在桌面放快捷方式”的体验优化~
3. 完成安装后登录 Docker Hub 账号(无账号可跳过)
在这里插入图片描述


安装完成后桌面就会出现一个图标,双击。

在这里插入图片描述


进入:

在这里插入图片描述


点击接受,然后:

在这里插入图片描述


使用github账号登录:

在这里插入图片描述


这个提示的意思是:你的 Windows 子系统 for Linux (WSL) 版本太旧了,需要更新。

1. 为什么会出现这个提示?
  • 你可能正在安装或运行某个依赖 WSL 的程序(比如 Docker Desktop、Linux 发行版等)。
  • 该程序需要更新版本的 WSL 才能正常工作,而当前系统安装的 WSL 版本过旧。
2. 它让你做什么?
  • 打开 命令提示符 (cmd)PowerShell(以管理员身份运行)。

这个命令会自动下载并安装最新版本的 WSL。

在这里插入图片描述

输入以下命令并按回车执行:

wsl --update 
3. 更新后要做什么?

更新完成后,点击提示窗口中的 “Restart” 按钮,或手动重启电脑,使更新生效。

在这里插入图片描述

简单来说:你的 WSL 该升级了,运行一下它给出的命令就行。 这是 Windows 系统组件的正常更新流程,按照提示操作即可。


四、验证安装成功

docker --version # 输出示例:Docker version 24.0.7, build afdd53b
在这里插入图片描述
docker run hello-world # 出现 "Hello from Docker!" 即成功!
在这里插入图片描述


若长时间卡在“拉取中”或提示pull access denied/network timeout,说明拉取出错,需排查以下问题:

  1. 网络问题(最常见)
    症状:无法连接 Docker Hub(国外服务器,国内访问慢/被墙)。
    解决:配置国内镜像加速器(之前对话中讲过步骤):
    右键任务栏 Docker 图标 → Settings→ Docker Engine→ 添加镜像源(如中科大、网易)

五、配置国内镜像加速(解决拉取慢)

  1. 右键任务栏 Docker 图标 → Settings
  2. 在 JSON 中添加镜像源:

进入 Docker Engine 选项卡

在这里插入图片描述
{"registry-mirrors":["https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com"]}
在这里插入图片描述
  1. 点击 Apply & Restart

六、常见问题排雷指南

❌ 错误:WSL 2 installation is incomplete

解决方案

  1. 升级 WSL:wsl --update
  2. 手动安装内核:https://aka.ms/wsl2kernel

❌ 错误:Docker Desktop requires a newer WSL kernel

解决方案
升级 Windows 系统至 21H2 或更高版本

❌ 拉取镜像超时

排查步骤

  1. 检查镜像加速器配置
  2. 关闭 VPN 或代理软件
  3. 执行 netsh winsock reset 重置网络栈

七、学习资源推荐

  • 📚 官方文档:https://docs.docker.com/
  • 🎥 视频教程:https://www.bilibili.com/video/BV1og4y1q7M4
  • 🛠️ 镜像仓库:https://hub.docker.com/explore

Read more

Flutter 三方库 rbush 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、极速、基于 R-Tree 算法的工业级 2D 空间索引与大规模点位碰撞检测引擎

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 rbush 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、极速、基于 R-Tree 算法的工业级 2D 空间索引与大规模点位碰撞检测引擎 在鸿蒙(OpenHarmony)系统的地理信息系统(GIS)、高性能 2D 游戏引擎、或者是需要对成千上万个矩形/点位进行毫秒级“范围查询(Range Search)”的应用中,如何摆脱由于线性扫描(O(n))导致的由于由于性能瓶颈?rbush 为开发者提供了一套工业级的、基于高级 R-Tree 算法。管理过程。由于由空间索引方案。本文将深入实战其在鸿蒙业务逻辑层空间数据处理中的应用。 前言 什么是 RBush?它是一个旨在解决“如何快速在一个平面找到一群物体”的高性能数据结构。它采用了 R-Tree

By Ne0inhk
【优选算法必刷100题】第014题(同向双指针:滑动窗口算法):找到字符串中所有字母异位词

【优选算法必刷100题】第014题(同向双指针:滑动窗口算法):找到字符串中所有字母异位词

🔥艾莉丝努力练剑:个人主页 ❄专栏传送门:《C语言》、《数据结构与算法》、C/C++干货分享&学习过程记录、Linux操作系统编程详解、笔试/面试常见算法:从基础到进阶 ⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平 🎬艾莉丝的简介: 🎬艾莉丝的算法专栏简介: 目录 014  找到字符串中所有字母异位词 1.1  算法思路:滑动窗口 + 哈希表 1.2  算法实现 1.2.1  第一次冲锋:失败告终 1.2.2  优化 1.2.3  简化代码 1.3  博主手记 结尾 014  找到字符串中所有字母异位词

By Ne0inhk
【优选算法】双指针算法:专题一

【优选算法】双指针算法:专题一

目录 引言: 【283.移动零】 1、题目描述 2、实现核心及思路 解题思路: 思路可视化: 代码实现: 代码测试: 【1089.复写零】 1、题目描述 2、实现核心及思路 解题思路: 思路可视化: 代码实现: 代码测试: 【202. 快乐数】 1、题目描述 2、实现核心及思路 解题思路: 代码实现: 【11. 盛水最多容器】 1、题目描述 2、实现核心及思路 解题思路: 思路可视化: 代码实现: 引言: 常见的双指针有两种形式,一种是对撞指针,一种是快慢指针。 对撞指针:一般用于顺序结构中,也称左右指针。 • 对撞指针从两端向中间移动。一个指针从最左端开始,另一个从最右端开始,然后逐渐往中间逼近。

By Ne0inhk
【STL源码剖析】从源码看 list:从迭代器到算法

【STL源码剖析】从源码看 list:从迭代器到算法

半桔:个人主页  🔥 个人专栏: 《Linux手册》《手撕面试算法》《C++从入门到入土》 🔖源码之前,了不秘密。 文章目录 * 前言 * 一. list 概述 * 二. list 的节点 * 三. list 迭代器 * 3.1 定义 * 3.2 构造 * 3.3 重载 * 四. list 数据结构 * 五. list 的构造和内存管理 * 六. list 的接口 本文并不适合STL初学者。对于那些熟练掌握 C++ 模板和 STL 的日常使用,理解内存分配与对象生命周期,并且有扎实的数据结构基础,希望深刻了解STL实现细节,从而得以提升对STL的扩充能力,或是希望藉由观察STL源代码,学习世界一流程序员身手,

By Ne0inhk