2102 字
11 分钟
Windows 内网环境下离线安装 Docker Desktop(WSL2)

一、环境说明及准备#

  • 确保 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 内核)

1.1 确认系统版本#

设置 → 系统 → 系统信息 → Windows 规格 中查看当前系统版本。

若系统版本低于要求,需要先完成系统升级。

该要求属于系统功能层面的硬性限制,低版本系统无法正常使用 WSL2 及 Docker Desktop。

1.2 检查虚拟化支持#

任务管理器 → 性能 → CPU 页面中,查看“虚拟化”是否处于已启用状态。

如果虚拟化未开启,需要重启计算机并进入 BIOS/UEFI 设置界面,启用硬件虚拟化技术(如 Intel VT-x 或 AMD-V),否则 WSL2 及 Docker Desktop 无法正常运行。

1.3 Windows 功能和虚拟化配置(启用 WSL2 的必备步骤)#

在启用 WSL2 之前,需要确保以下 Windows 功能和虚拟化支持已正确开启:

  • 适用于 Linux 的 Windows 子系统(Windows Subsystem for Linux)
  • 虚拟机平台(Virtual Machine Platform)

图形化开启方法(无需网络)#

  1. 打开 控制面板 → 程序和功能 → 启用或关闭 Windows 功能
  2. 勾选以下选项:
    • 适用于 Linux 的 Windows 子系统(Windows Subsystem for Linux)
    • 虚拟机平台(Virtual Machine Platform)
  3. 点击“确定”,并根据提示重启系统

命令行开启方法(无需网络)#

可在 PowerShell(管理员权限)中执行:

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

二、安装 WSL2 最新版本#

在启用适用于 Linux 的 Windows 子系统后,系统会自带基础的 WSL 组件
但该组件版本通常较为老旧,可能无法满足 Docker Desktop 对 WSL 版本的要求

因此需要通过 WSL 安装包对 WSL 组件进行升级
可访问 WSL 官方发布页面下载对应版本的安装包:https://github.com/microsoft/WSL/releases
根据系统的 CPU 架构(x64 / ARM64)选择对应的 .msi 安装包进行下载并安装

当然也可以输入以下命令进行在线升级

Terminal window
wsl --update

安装完成后输入以下命令设置默认版本并查看信息

Terminal window
wsl --set-default-version 2
wsl -v

示例输出如下:

WSL 版本: 2.6.2.0
内核版本: 6.6.87.2-1
WSLg 版本: 1.0.71
MSRDC 版本: 1.2.6353
Direct3D 版本: 1.611.1-81528511
DXCore 版本: 10.0.26100.1-240331-1435.ge-release
Windows: 10.0.19045.6691

三、安装 Linux 发行版#

以 Ubuntu 为例,Linux 发行版的安装方式主要分为两类:

  • 在线安装后导出发行版镜像,用于离线环境导入
  • 直接下载 .AppxBundle 文件进行离线安装

3.1 在线安装#

在具备网络连接的环境中,可以先安装目标 Linux 发行版,再将其导出为镜像文件,供其他离线设备使用

命令行安装#

首先,列出当前系统支持在线安装的 Linux 发行版列表:

Terminal window
wsl --list --online

示例输出如下:

以下是可安装的有效分发的列表。
使用“wsl.exe --install <Distro>”安装。
NAME FRIENDLY NAME
Ubuntu Ubuntu
Ubuntu-24.04 Ubuntu 24.04 LTS
openSUSE-Tumbleweed openSUSE Tumbleweed
openSUSE-Leap-16.0 openSUSE Leap 16.0
SUSE-Linux-Enterprise-15-SP7 SUSE Linux Enterprise 15 SP7
SUSE-Linux-Enterprise-16.0 SUSE Linux Enterprise 16.0
kali-linux Kali Linux Rolling
Debian Debian GNU/Linux
AlmaLinux-8 AlmaLinux OS 8
AlmaLinux-9 AlmaLinux OS 9
AlmaLinux-Kitten-10 AlmaLinux OS Kitten 10
AlmaLinux-10 AlmaLinux OS 10
archlinux Arch Linux
FedoraLinux-43 Fedora Linux 43
FedoraLinux-42 Fedora Linux 42
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
OracleLinux_7_9 Oracle Linux 7.9
OracleLinux_8_10 Oracle Linux 8.10
OracleLinux_9_5 Oracle Linux 9.5
openSUSE-Leap-15.6 openSUSE Leap 15.6
SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6

根据需要选择合适的发行版版本进行安装,例如安装 Ubuntu(默认最新 LTS):

Terminal window
wsl --install Ubuntu

安装完成后,系统会自动创建对应的 WSL 发行版实例。

MicroSoft Store 应用市场安装#

打开 MicroSoft Store,搜索 Ubuntu,点击进行安装

3.2 导出 Linux 发行版镜像文件#

在完成 Ubuntu 安装后,可以将该发行版导出为标准的 rootfs 镜像文件,以便在离线环境中导入使用
如果计划在离线环境中使用该发行版,建议在联网状态下提前完成所需软件的安装与环境配置,再进行导出
该方法同样适用于日常 Linux 发行版的备份与迁移
在导出前,建议先停止对应的发行版:

Terminal window
wsl --terminate Ubuntu

然后执行导出命令: WSL 导出发行版镜像文件的命令是 wsl --export <发行版名称> <导出的 tar 文件路径>

Terminal window
wsl --export Ubuntu ./Ubuntu.tar

该命令会将 Ubuntu 发行版完整导出在当前目录下的 Ubuntu.tar 文件中,可用于后续的离线导入或迁移

3.3 安装 Linux 发行版镜像文件#

如果已经完成发行版镜像文件的导出,则可以在任意已经完成 WSL 配置的机器上进行导入
通过该方式可以自定义发行版磁盘文件的存储位置,避免在线安装时默认在系统盘(通常为 C 盘)创建磁盘文件,占用大量空间

WSL 导入发行版镜像文件的命令是:wsl --import <发行版名称> <安装目录> <镜像文件路径> [--version 2]

其中:

  • <发行版名称>:导入后在 WSL 中显示的名称,可自定义
  • <安装目录>:发行版解压后的虚拟磁盘与数据存放目录(需提前创建)
  • <镜像文件路径>: 发行版镜像文件的存放位置
  • --version 2:指定导入的发行版使用 WSL 2(推荐)

Ubuntu.tar 镜像文件导入为名为 Ubuntu-offline 的发行版,安装目录为 D:\WSL\Ubuntu

Terminal window
mkdir D:/WSL/Ubuntu
wsl --import Ubuntu-offline D:/WSL/Ubuntu ./Ubuntu.tar --version 2

导入完成后,可通过以下命令确认发行版状态:

Terminal window
wsl -l -v

示例输出:

NAME STATE VERSION
Ubuntu-offline Stopped 2

3.4 使用 .AppxBundle 文件进行离线安装#

NOTE

需要完成 WSL 配置后才可以使用此方法

本质上通过 MicroSoft Store 安装也是通过 .AppxBundle 文件进行安装,因此可以通过下载 Linux 发行版对应的 .AppxBundle 安装包进行离线安装

获取 .AppxBundle 安装包#

通过 MicroSoft Store 获取 Linux 发行版的链接
以 Ubuntu 发行版为例,商店链接为 https://apps.microsoft.com/detail/9PDXGNCFSCZV?hl=neutral&gl=CN&ocid=pdpshare

https://store.rg-adguard.net 中输入商店链接,点击最大的文件下载

安装 .AppxBundle 发行版#

在 PowerShell 中进入 .AppxBundle 文件所在目录,执行以下命令进行安装:

Terminal window
Add-AppxPackage ./Ubuntu_2404.1.0.0_x64.AppxBundle

如果 .AppxBundle 文件无法安装,可将其解压,在解压目录中找到对应 CPU架构 的 .appx 文件
仅需安装主 .appx 文件,无需安装 scale-* 等资源包,以 x64 架构为例,安装命令为:

Terminal window
Add-AppxPackage ./Ubuntu_2404.1.68.0_x64.appx

不建议通过资源管理器双击 .appx 文件进行安装,推荐使用 Add-AppxPackage 以便获得明确的错误信息并便于排错。

安装完成后,可通过以下命令确认发行版状态:

Terminal window
wsl -l -v

示例输出:

NAME STATE VERSION
Ubuntu Stopped 2

四、启动 WSL 并初始化配置#

完成 Linux 发行版的安装以后,可以进入到发行版中进行使用
首次进入发行版需要进行初始化配置

设置默认发行版

Terminal window
wsl --set-default Ubuntu

进入发行版

Terminal window
wsl

此时按照提示完成用户名、密码等初始化设置后,即可正常使用该 Linux 发行版。

五、安装 Docker#

5.1 下载并安装 Docker Desktop#

访问 Docker 官网下载 Docker-Desktop:

https://www.docker.com/products/docker-desktop/

下载完成后在需要安装的机器上双击应用进行安装,安装时注意勾选 Use WSL Instead Of HyperVUse WSL 2 based engine

5.2 Docker 使用#

安装完成之后,启动 Docker Desktop ,如果 WSL 配置没有问题,则可以进入到 Docker Desktop 界面
此时 Docker 已安装完成,可以正常使用

5.3 配置 Docker 镜像源(在线使用)#

打开 Settings → Docker Engine
在 JSON 配置中添加如下配置,注意如果有其他内容存在则需要在其他项目的结尾添加 ,
示例加速链接为 毫秒镜像 - 专为中国开发者提供的专业容器仓库服务

{
"registry-mirrors": ["https://docker.1ms.run"]
}

点击右下角的 “Apply & Restart” 按钮重启 Docker
等待 Docker 重启完成
可以通过CMD或终端,查看配置是否生效:检查Registry Mirrors是否存在对应的加速源

Terminal window
docker info
Windows 内网环境下离线安装 Docker Desktop(WSL2)
https://www.self4m.com/posts/windows-offline-install-docker-desktop-wsl2/
✍️作者
Self4m
📅发布于
2025-10-21
©️许可协议
CC BY-NC-SA 4.0

商业用途必须事先获得作者授权;
非商业用途可以使用,但必须注明出处;
若有改编需采用相同许可协议发布。