Windows 上的 Docker Desktop WSL 2 后端
Windows Subsystem for Linux (WSL) 2 是 Microsoft 构建的完整 Linux 内核,它允许 Linux 发行版在无需管理虚拟机的情况下运行。通过在 WSL 2 上运行 Docker Desktop,用户可以利用 Linux 工作区并避免同时维护 Linux 和 Windows 构建脚本。此外,WSL 2 还改进了文件系统共享和启动时间。
Docker Desktop 使用 WSL 2 中的动态内存分配功能来改善资源消耗。这意味着 Docker Desktop 仅使用所需的 CPU 和内存资源,同时允许 CPU 和内存密集型任务(例如构建容器)运行得更快。
此外,使用 WSL 2,冷启动后启动 Docker 守护进程所需的时间明显加快。
先决条件
在打开 Docker Desktop WSL 2 功能之前,请确保您拥有:
- 最低 WSL 版本为 1.1.3.0。,但最好是最新版本的 WSL,以 避免 Docker Desktop 无法按预期工作。
- 满足 Docker Desktop for Windows 的 系统要求。
- 在 Windows 上安装了 WSL 2 功能。有关详细说明,请参阅 Microsoft 文档。
提示
为了获得更好的 WSL 体验,请考虑启用 自 WSL 1.3.10(实验性)以来可用的WSL autoMemoryReclaim设置。
此功能增强了 Windows 主机回收 WSL 虚拟机内未使用内存的能力,确保提高其他主机应用程序的内存可用性。此功能对于 Docker Desktop 特别有益,因为它可以防止 WSL VM 在 Docker 容器映像构建期间在 Linux 内核的页面缓存中保留大量内存(以 GB 为单位),而不会在容器内不再需要时将其释放回主机。虚拟机。
打开 Docker 桌面 WSL 2
重要的
为了避免与在 Docker Desktop 上使用 WSL 2 发生任何潜在冲突,您必须在安装 Docker Desktop 之前卸载直接通过 Linux 发行版安装的任何早期版本的 Docker Engine 和 CLI。
下载并安装适用于 Windows的最新版本的 Docker Desktop 。
按照通常的安装说明安装 Docker Desktop。根据您使用的 Windows 版本,Docker Desktop 可能会在安装过程中提示您打开 WSL 2。阅读屏幕上显示的信息并打开 WSL 2 功能以继续。
从Windows 开始菜单启动 Docker Desktop 。
导航至“设置”。
从“常规”选项卡中,选择“使用基于 WSL 2 的引擎”。
如果您在支持 WSL 2 的系统上安装了 Docker Desktop,则默认情况下会打开此选项。
选择应用并重新启动。
现在,docker
命令可以使用新的 WSL 2 引擎在 Windows 上运行。
在 WSL 2 发行版中启用 Docker 支持
WSL 2 向 Windows 添加了对“Linux 发行版”的支持,其中每个发行版的行为就像一个 VM,只不过它们都运行在单个共享 Linux 内核之上。
Docker Desktop 不需要安装任何特定的 Linux 发行版。 CLIdocker
和 UI 在 Windows 上都可以正常工作,无需任何额外的 Linux 发行版。然而,为了获得最佳的开发人员体验,我们建议至少安装一个额外的发行版并启用 Docker 支持:
确保发行版在 WSL 2 模式下运行。 WSL 可以在 v1 或 v2 模式下运行发行版。
要检查 WSL 模式,请运行:
$ wsl.exe -l -v
要将 Linux 发行版升级到 v2,请运行:
$ wsl.exe --set-version (distro name) 2
要将 v2 设置为将来安装的默认版本,请运行:
$ wsl.exe --set-default-version 2
当 Docker Desktop 启动时,转到“设置” > “资源” > “WSL 集成”。
Docker-WSL 集成在默认 WSL 发行版(即Ubuntu)上启用 。要更改默认的 WSL 发行版,请运行:
$ wsl --set-default <distro name>
选择应用并重新启动。
笔记
Docker Desktop 安装两个专用内部 Linux 发行版
docker-desktop
和docker-desktop-data
.第一个 (docker-desktop
) 用于运行 Docker 引擎 (dockerd
),第二个 (docker-desktop-data
) 存储容器和镜像。两者都不能用于一般开发。