本地 Docker 安装配置
Docker 用途
之所以将 Docker 作为环境准备的一个章节,并不代表在本地开发也必须要使用 Docker。但因为微服务涉及的组件比较多,即使是系统运行最小化需求,部署的工作量也不小。使用 Docker 进行一部分组件安装和部署,可以节省大量的工作和时间。
WSL2 配置
WSL2 是适用于 Linux 的 Windows 子系统,可让开发人员按原样运行 GNU/Linux 环境,包括大多数命令行工具、实用工具和应用程序,且不会产生传统虚拟机或双启动设置开销。
[1]开启Hyper-V
- 右键单击 Windows 按钮并选择“应用和功能”。(左下角Windows图标)
- 选择相关设置下右侧的“程序和功能”。
- 选择“打开或关闭 Windows 功能”。
- 选择“Hyper-V”,然后单击“确定”。
安装完成后,系统会提示你重启计算机。
[2]适用于 Linux 的 Windows 子系统安装
(1) 安装适用于 Linux 的 Windows 子系统
必须先启用“适用于 Linux 的 Windows 子系统”可选功能,然后才能在 Windows 上安装 Linux 分发版。
以管理员身份打开 PowerShell 并运行:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
(2) 更新到 WSL 2
安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。
以管理员身份打开 PowerShell 并运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重新启动计算机,以完成 WSL 安装并更新到 WSL 2。
为了保证 WSL2 内核为最新,建议再手动更新一下 WSL2
wsl --update
(3) 将 WSL 2 设置为默认版本
安装新的 Linux 分发版时,请在 Powershell 中运行以下命令,以将 WSL 2 设置为默认版本:
wsl --set-default-version 2
[3]安装所选的 Linux 分发版
- 打开 Microsoft Store,并选择你偏好的 Linux 分发版 (如果上述连接打开有错,请直接打开Microsoft Store搜索)。
- 在分发版的页面中,选择自己想要安装的Linux版本(我使用的是Ubuntu 24.04 LTS),点击“获取”进行安装。等待下载和安全完成
[4]设置新分发版
点击“启动”,启动刚刚安装的Linux发行版。可以点击“启动”旁边的三个点,将发行版添加到开始菜单
首次启动新安装的 Linux分发版时,将打开一个控制台窗口,系统会要求你等待一分钟或两分钟,以便文件解压缩并存储到电脑上。未来的所有启动时间应不到一秒。
然后,需要为新的 Linux 分发版创建用户帐户和密码。
Docker Desktop for Windows
[1]下载并安装
- 下载 Docker Desktop for Windows
- “以管理员身份”运行Docker Desktop Installer, ,不需要修改任何设置,使用默认配置进行安装。
- 点击“Close”,完成安装
[2]配置 Docker Desktop
启动运行 Docker Desktop,等待运行完成,可以观察Windows右下角的集装箱图标,图标静止即表示运行完成。
- (1) 进入Docker Desktop Settings
- (2) 选择Docker Engine页,配置阿里镜像加速器
在“registry-mirrors”中添加:
"registry-mirrors": [
"https://c1jg9dlb.mirror.aliyuncs.com"
]
- (3) 点击 Apply & Restart。等待Docker Desktop 重启完成。
- (4) 当 Docker Desktop 重启之后, 进入 Settings > Resources > WSL Integration。
在这个界面中,选择任何你想要使用的Linux发行版本。点击 Apply & Restart。
- (6) 验证
在 Windows PowerSell 中,输入:
wsl -l -v
看到如下内容,就表示配置成功。
NAME | STATE | VERSION |
---|---|---|
Ubuntu-24.04 | Running | 2 |
docker-desktop | Running | 2 |
docker-desktop-data | Running | 2 |
[3]优化 Docker Desktop 配置
在当前系统的用户下,新建 .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 或更高版本。