本地 Docker 安装
[一]Docker 用途
之所以将 Docker 作为环境准备的一个章节,并不代表在本地开发也必须要使用 Docker。但因为微服务涉及的组件比较多,即使是系统运行最小化需求,部署的工作量也不小。使用 Docker 进行一部分组件安装和部署,可以节省大量的工作和时间。
[二]环境准备
[1]开启Hyper-V
在 Windows 11 25h2 及以上版本中,可以按照下面方式通过界面操作开启:
- 右键单击 Windows 按钮并选择“系统”。(左下角 Windows 图标或者 Win + I 打开设置)
- “系统”设置右侧列表中,找到并选择“可选功能”(Win 11 25h2 中,在 AI 选项下方)。
- 在“可选功能”面板中,选择“更多 Windows 功能”
- 在弹出的“打开或关闭 Windows 功能”对话框中,选择“Hyper-V”,然后单击“确定”。
相关信息
Windows 不同的版本中,系统设置的差异以及变化会比较大,也可以直接找到“控制面板”来开启
安装完成后,系统会提示你重启计算机。
[2]适用于 Linux 的 Windows 子系统安装
- 打开 Microsoft Store,并选择你偏好的 Linux 分发版 (如果上述连接打开有错,请直接打开 Microsoft Store 搜索)。
- 在分发版的页面中,选择自己想要安装的Linux版本(我使用的是 Debian),点击“获取”进行安装。等待下载和安全完成
首次启动新安装的 Linux分发版时,将打开一个控制台窗口,系统会要求你等待一分钟或两分钟,以便文件解压缩并存储到电脑上。未来的所有启动时间应不到一秒。
然后,需要为新的 Linux 分发版创建用户帐户和密码。
[3]安装 WSL 2
WSL2 是适用于 Linux 的 Windows 子系统,可让开发人员按原样运行 GNU/Linux 环境,包括大多数命令行工具、实用工具和应用程序,且不会产生传统虚拟机或双启动设置开销。
在新版本 Window 11 中,WSL 不在使用内置方式,改为使用外部安装。
可以通过以下命令进行安装:
wsl --install // 如果没有安装 wsl,输入任何 wsl 命令都会提示安装
wsl --update // 如果已经安装了,可以使用该命令进行升级注意
目前 WSL 是托管在 Github 当中,采用开源的方式维护。使用 wsl --install 和 wsl --update 命令进行 WSL 更新时,是从 Github 中下载更新。由于众所周知的原因,使用命令根据你自身的网络不同,可能会非常慢。如果出现这种情况,建议直接到 Github 上手动下载。【下载地址】
[4]设置WSL默认版本
在 Powershell 中运行以下命令,以将 WSL 2 设置为默认版本:
wsl --set-default-version 2[5]设置WSL运行环境参数
(1)手动方式
在当前系统的用户下,新建 .wlsconfig文件,在其中配置以下代码。
[wsl2]
memory=16GB
processors=1
swap=5GB
swapFile=D:\\local-cached\\wsl2\\swap.vhdx
localhostForwarding=true配置项说明:
| 参数 | 值类型 | 默认值 | 说明 |
|---|---|---|---|
kernel | path | 内置内核 | 自定义 Linux 内核的绝对 Windows 路径。 |
memory | size | 总内存的50% | 要分配给 WSL 2 VM 的内存量。 |
processors | number | 相同数量的逻辑处理器 | 要分配给 WSL 2 VM 的逻辑处理器数量。 |
localhostForwarding | boolean | true | 一个布尔值,用于指定绑定到 WSL 2 VM 中的通配符或 localhost 的端口是否应可通过 localhost:port 从主机连接。 |
kernelCommandLine | string | Blank | 其他内核命令行参数。 |
safeMode | boolean | false | 在“安全模式”中运行 WSL,这会禁用许多功能,应用于恢复处于错误状态的发行版。 仅适用于 Windows 11 和 WSL 版本 0.66.2+。 |
swap | size | 25% 的内存大小四 舍五入到最接近的 GB | 要向 WSL 2 VM 添加的交换空间量,0 表示无交换文件。 交换存储是当内存需求超过硬件设备上的限制时使用的基于磁盘的 RAM。 |
swapFile | path | %USERPROFILE%\A ppData\Local\Te mp\swap.vhdx | 交换虚拟硬盘的绝对 Windows 路径。 |
pageReporting | boolean | true | 默认的 true 设置使 Windows 能够回收分配给 WSL 2 虚拟机的未使用内存。 |
guiApplications | boolean* | true | 一个布尔值,用于在 WSL 中打开或关闭对 GUI 应用程序 (WSLg) 的支持。 仅适用于 Windows 11。 |
debugConsole | boolean* | false | 一个布尔值,用于在 WSL 2 发行版实例启动时打开显示 dmesg 内容的输出控制台窗口。 仅适用于 Windows 11。 |
nestedVirtualization | boolean* | true | 用于打开或关闭嵌套虚拟化的布尔值,使其他嵌套 VM 能够在 WSL 2 中运行。 仅适用于 Windows 11。 |
vmIdleTimeout | number* | 60000 | VM 在关闭之前处于空闲状态的毫秒数。 仅适用于 Windows 11。 |
dnsProxy | bool | true | 仅适用于 networkingMode = NAT。 布尔值,通知 WSL 将 Linux 中的 DNS 服务器配置为主机上的 NAT。 设置为 false 会将 DNS 服务器从 Windows 镜像到 Linux。 |
networkingMode** | string | NAT | 如果值为 mirrored,则会启用镜像网络模式。 默认或无法识别的字符串会生成 NAT 网络。 |
firewall** | bool | true | 如果设置为 true,则 Windows 防火墙规则以及特定于 Hyper-V 流量的规则可以筛选 WSL 网络流量。 |
dnsTunneling** | bool | false | 更改将 DNS 请求从 WSL 代理到 Windows 的方式 |
autoProxy* | bool | false | 强制 WSL 使用 Windows 的 HTTP 代理信息 |
- 具有 path 值的条目必须是带有转义反斜杠的 Windows 路径,例如:
C:\\Temp\\myCustomKernel - 具有 size 值的条目后面必须跟上大小的单位,例如
8GB或512MB。 - 值类型后带有 * 的条目仅在 Windows 11 中可用。
- 值类型后带有 ** 的条目需要 Windows 11 版本 22H2 或更高版本。
(2)界面方式
如果你前面已经手动安装了 WSL,那么新版本的 WSL 已经提供了配置界面。通过界面修改相关配置会更加方便。

提示
通过 WSL Settings 界面进行设置,最终也是将设置数据,保存至当前系统的用户下 .wlsconfig 文件中
[三]Docker Desktop for Windows
[1]下载并安装
- 下载 Docker Desktop for Windows
- “以管理员身份”运行Docker Desktop Installer,不需要修改任何设置,使用默认配置进行安装。
- 点击“Close”,完成安装
[2]配置 Docker Desktop
启动运行 Docker Desktop,等待运行完成,可以观察Windows右下角的集装箱图标,图标静止即表示运行完成。
(1)设置关联的 Linux 发行版
- (1) 进入 Docker Desktop Settings
- (2) 选择 Settings > Resources > WSL Integration。
在这个界面中,选择任何你想要使用的Linux发行版本。点击 Apply & Restart。

(2) 设置 Docker Desktop 存储目录
Docker Desktop 默认的数据存储目录是放置在系统 C:盘,随着使用的镜像增多以及 Build 数据的积累,Docker Desktop 数据就会越来越大占用 C:盘空间。
早期的 Docker Desktop 迁移数据文件必需要手动配置。新版本的 Docker Desktop 已经提供了界面操作。
- (1) 进入Docker Desktop Settings
- (2) 选择 Settings > Resources > Advanced
- (3) 页面修改
Disk Image Location即可。

(3) 验证版本
在 Docker Desktop 运行状态下,启动 Windows PowerSell 中,输入:
wsl -l -v看到如下内容,就表示配置成功。(注意:主要关注 VERSION 列是否为 2)
| NAME | STATE | VERSION |
|---|---|---|
| Ubuntu-24.04 | Running | 2 |
| docker-desktop | Running | 2 |
| docker-desktop-data | Running | 2 |
