一、说明
Docker 能够无需改动本地系统、无需安装各类环境依赖即可运行程序,其原生适配 Linux 运行时几乎不存在性能损耗,这方便很多用户进行软件开发以及部署服务。
但绝大多数用户日常使用的都是 Windows,单独重装 Linux 跑 Docker 又会割裂 Windows 生态,Docker Desktop 的推出恰好解决了这一痛点,让 Windows 用户也能便捷使用容器能力。
二、运行环境设置
Windows 平台的 Docker Desktop 运行依托 WSL2 Linux 子系统实现,WSL2 的底层虚拟化能力依赖的是 Windows 的 Hyper-V 组件。
因此技术上离不开 Hypervisor 虚拟化底层支持,但部署时无需完整开启 Hyper-V 全套虚拟机功能。 仅启用轻量化的虚拟机平台组件,就能满足 WSL2 与 Docker 的运行需求,Windows 家庭版也可通过该方式正常部署。
因此在 Windows 上安装 Docker Desktop 需要满足以下条件
- 需确保 Windows 版本满足最低要求:
- Windows 10 64 位: 22H2(Build 19045)及以上
- Windows 11 64 位: 22H2(Build 22621)及以上
- 需确保在 BIOS 中启用了 CPU 虚拟化(Intel VT-x / AMD-V)
- 需确保启用了以下 Windows 功能:
- 适用于 Linux 的 Windows 子系统(Windows Subsystem for Linux)
- 虚拟机平台(Virtual Machine Platform)
- 需确保已安装并启用 WSL 2(包含 WSL2 Linux 内核)
操作步骤如下:
-
在 设置 → 系统 → 系统信息 → Windows 规格 中查看
当前系统版本
若系统版本低于要求需要先完成系统升级。该要求属于系统功能层面的硬性限制,
低版本系统无法正常使用 WSL2 及 Docker Desktop -
在 任务管理器 → 性能 → CPU 中查看
虚拟化是否处于已启用状态
如果虚拟化未开启需要重启计算机并进入 BIOS/UEFI 设置界面,启用硬件虚拟化技术(如 Intel VT-x 或 AMD-V),否则 WSL2 及 Docker Desktop 无法正常运行 -
在 控制面板 → 程序和功能 → 启用或关闭 Windows 功能 中查看
Windows 功能是否处于已启用状态- 适用于 Linux 的 Windows 子系统(Windows Subsystem for Linux)
- 虚拟机平台(Virtual Machine Platform)
TIP
这两项属于 Windows 内置可选系统组件,无需联网下载安装包
三、安装 WSL2 适用于 Linux 的 Windows 子系统
在启用适用于 Linux 的 Windows 子系统功能后,系统仅会部署基础 WSL 配套组件。
但该预装组件版本普遍偏低,不满足 Docker Desktop 的运行要求。
因此启用功能后,需要手动升级 WSL 内核,在线升级 PowerShell 命令如下:
wsl --updateTIP若网络环境较差或无法在线更新可前往微软 WSL 发布仓库,
下载对应系统架构的.msi离线安装包手动更新:https://github.com/microsoft/WSL/releases
通过离线安装包升级可直接将 WSL 内核更新至最新版本,版本号通常高于 Windows 系统推送版本。
升级完成后输入以下命令设置默认 WSL 版本并查看信息
wsl --set-default-version 2wsl -v示例输出如下:
WSL 版本: 2.6.2.0内核版本: 6.6.87.2-1WSLg 版本: 1.0.71MSRDC 版本: 1.2.6353Direct3D 版本: 1.611.1-81528511DXCore 版本: 10.0.26100.1-240331-1435.ge-releaseWindows: 10.0.19045.6691四、安装 Linux 发行版
开启 WSL 基础组件并完成内核升级后,系统仅具备 WSL 运行能力。
还需要安装 Linux 发行版作为 Docker 的运行环境,即 Linux 环境。
4.1 命令行安装
以默认 Ubuntu 为例,使用 PowerShell 执行以下命令即可完成安装:
wsl --install -d Ubuntu若希望安装其他版本,可先列出当前系统支持在线安装的 Linux 发行版列表:
wsl --list --online示例输出如下:
以下是可安装的有效分发的列表。使用“wsl.exe --install -d <Distro>”安装。
NAME FRIENDLY NAMEUbuntu UbuntuUbuntu-24.04 Ubuntu 24.04 LTSopenSUSE-Tumbleweed openSUSE TumbleweedopenSUSE-Leap-16.0 openSUSE Leap 16.0SUSE-Linux-Enterprise-15-SP7 SUSE Linux Enterprise 15 SP7SUSE-Linux-Enterprise-16.0 SUSE Linux Enterprise 16.0kali-linux Kali Linux RollingDebian Debian GNU/LinuxAlmaLinux-8 AlmaLinux OS 8AlmaLinux-9 AlmaLinux OS 9AlmaLinux-Kitten-10 AlmaLinux OS Kitten 10AlmaLinux-10 AlmaLinux OS 10archlinux Arch LinuxFedoraLinux-43 Fedora Linux 43FedoraLinux-42 Fedora Linux 42Ubuntu-20.04 Ubuntu 20.04 LTSUbuntu-22.04 Ubuntu 22.04 LTSOracleLinux_7_9 Oracle Linux 7.9OracleLinux_8_10 Oracle Linux 8.10OracleLinux_9_5 Oracle Linux 9.5openSUSE-Leap-15.6 openSUSE Leap 15.6SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6根据需要选择合适的发行版版本进行安装,例如安装 Debian:
wsl --install -d Debian4.2 Microsoft Store 应用市场安装
打开 Microsoft Store,搜索相应 Linux 发行版进行安装
4.3 使用 AppxBundle 文件进行安装
可通过 AppxBundle 离线安装包替代 Microsoft Store 安装,但但其依赖解析机制与 Microsoft Store 在线安装存在差异。
-
获取
AppxBundle安装包通过 Microsoft Store 获取 Linux 发行版的链接,以 Ubuntu 发行版为例,商店链接为:
https://apps.microsoft.com/detail/9PDXGNCFSCZV?hl=neutral&gl=CN&ocid=pdpshare在 https://store.rg-adguard.net 中输入商店链接,点击最大的文件下载。
TIP
该工具是第三方 Microsoft Store 解析站点,非微软官方渠道。 仅用于无法访问 Microsoft Store 时的替代下载方式,生产环境建议优先使用 Microsoft Store
-
使用
AppxBundle安装进入
AppxBundle文件所在目录,使用 PowerShell 执行以下命令进行安装:Terminal window Add-AppxPackage ./Ubuntu_2404.1.0.0_x64.AppxBundle如果使用 PowerShell 无法安装可将其解压,在解压文件中找到对应 CPU架构 的
.appx文件
以 x64 架构为例,使用 PowerShell 执行以下命令进行安装:Terminal window Add-AppxPackage ./Ubuntu_2404.1.68.0_x64.appx不建议通过资源管理器双击
.appx文件进行安装,因为无法获得明确的错误信息并进行排错。安装完成后,可通过以下命令确认发行版状态:
Terminal window wsl -l -v示例输出:
NAME STATE VERSIONUbuntu Stopped 2
五、启动 WSL 并初始化配置
完成 Linux 发行版安装后,还需进行基础配置优化使用体验:
设置默认发行版:
wsl --set-default Ubuntu执行以下命令进入子系统:
wsl根据页面提示填写用户名、登录密码,完成系统初始化,即可正常使用该 Linux 发行版。
六、安装 Docker Desktop
-
下载并安装 Docker Desktop
访问 Docker 官网下载 Docker Desktop 安装包并进行安装:https://www.docker.com/products/docker-desktop
在安装的过程中务必勾选
Use WSL Instead Of Hyper-V和Use WSL 2 based engine选项,
确保 Docker Desktop 可以使用 WSL2 作为容器运行引擎。 -
首次启动初始化
安装完成后启动 Docker Desktop,程序会自动生成 docker-desktop 专用 WSL 运行环境,
全程复用系统已部署的 WSL2 内核,无需额外联网下载系统文件。 -
验证运行状态
打开 PowerShell / WSL 终端,执行如下命令校验部署是否生效:
Terminal window docker info正常输出系统、引擎信息即代表 Docker Desktop 部署完成。
七、离线安装 Docker Desktop
离线安装 Docker Desktop 的核心是离线安装 WSL2 运行环境,即 WSL 内核以及 Linux 发行版。
相关运行环境前置配置与在线安装要求完全一致,需要确认系统版本满足最低要求、 BIOS 虚拟化已开启,同时启用 适用于 Linux 的 Windows 子系统 与 虚拟机平台 两项 Windows 组件。
7.1 离线安装文件准备
- 下载 WSL 内核安装包:https://github.com/microsoft/WSL/releases
- 下载 Docker Desktop 软件安装包:https://www.docker.com/products/docker-desktop
7.2 WSL 备份方法安装
联网设备部署好 Linux 发行版后,可将完整系统导出为 tar 镜像,用于本地备份、跨设备迁移,
若离线环境需要预装开发工具、依赖环境,可在导出前提前完成软件部署,再导出镜像,
离线机器导入该镜像后系统环境与联网端完全一致,以此实现 Linux 发行版离线安装。
-
导出镜像前,打开 PowerShell 执行命令停止目标发行版运行:
Terminal window wsl --terminate <发行版名称># 示例:停止 Ubuntuwsl --terminate Ubuntu -
执行镜像文件导出命令:
Terminal window wsl --export <发行版名称> <导出的 tar 文件路径># 示例:将 Ubuntu 导出为当前目录下的 Ubuntu.tarwsl --export Ubuntu ./Ubuntu.tar -
将导出的 tar 镜像拷贝至离线设备,执行导入操作
该导入方式可自定义虚拟磁盘存放路径,规避在线安装默认占用 C 盘大量存储空间的问题。
已在线安装的机器,也可通过该方式迁移虚拟磁盘路径,进而节省 C 盘空间。TIP
离线设备需要先更新 WSL 内核并且 WSL 可用
Terminal window wsl --import <导入后发行版名称> <预创建的磁盘存放路径> <tar镜像路径> --version 2# 示例:创建目录并导入 Ubuntu.tar 至 `D:/WSL/Ubuntu`mkdir D:/WSL/Ubuntuwsl --import Ubuntu-offline D:/WSL/Ubuntu ./Ubuntu.tar --version 2 -
导入完成后,使用 PowerShell 执行以下命令校验发行版状态:
Terminal window wsl -l -v示例输出:
NAME STATE VERSIONUbuntu-offline Stopped 2
7.3 使用 .AppxBundle 文件进行安装
该操作方法与 4.3 使用 AppxBundle 文件进行安装 操作完全一致。
7.4 安装 Docker Desktop
确保 Linux 发行版安装完成后即可完整Docker Desktop,安装的过程中务必勾选 Use WSL Instead Of Hyper-V 和 Use WSL 2 based engine 选项
安装完成后打开 PowerShell / WSL 终端,执行如下命令校验部署是否生效:
docker info正常输出系统、引擎信息即代表 Docker Desktop 离线部署完成。
非商业用途可以使用,但必须注明出处;
若有改编需采用相同许可协议发布。