如何在 Windows 10 上安装 Docker

在 Windows 10 PC 上使用 Hyper-V 或 WSL 后端安装和运行 Docker 的完整指南

Docker 是一种允许开发人员使用容器快速创建、部署和运行应用程序的工具。容器化的概念是一种将应用程序、其依赖项和配置都打包在一个称为容器的单个文件中的方法。

容器有点类似于虚拟机,但不是运行整个操作系统及其所有服务,它们只运行打包为容器的软件所需的最低限度,并且在很大程度上依赖于主机操作系统。这些容器比运行完整的虚拟机具有更好的性能,并且与主机操作系统环境隔离。

在本文中,让我们看看如何在 Windows 10 上安装 Docker 并启用 Hyper-V 和 WSL 来运行容器。

先决条件

您需要带有 1703 更新或更高版本(内部版本 15063 或更高版本)的 Windows 10 64 位专业版、企业版或教育版才能使用 Hyper-V 后端,或者需要带有 2004 更新或更高版本(内部版本 19041 或更高版本)的 Windows 10 64 位版本以用于 WSL 后端.除此之外,还需要具有虚拟化支持和至少 4 GB 内存的现代 64 位处理器。

除上述要求外,您还需要在 BIOS 中启用虚拟化支持。要检查您是否已启用虚拟化,请打开任务管理器并转到性能选项卡。

如果虚拟化显示为“已禁用”,则需要在 BIOS 设置中启用它。根据您拥有的主板和 CPU,启用虚拟化的步骤有所不同。

对于 Intel 处理器,在 BIOS 中启用称为 Intel Virtualization Technology (VT-x) 的设置。同样,对于 AMD 处理器,在 BIOS 中启用称为 SVM 模式的设置。请参阅您的主板手册以找到您的 CPU 的相应设置。

通过 Winget 安装 Docker

Docker 在 Winget 存储库中可用,因此可以使用简单的命令进行安装。如果您没有 小翼 工具已安装并希望了解更多信息,然后查看我们关于如何安装 Winget 包管理器的指南。

我们将安装 Winget 存储库上可用的稳定版 Docker。打开 PowerShell 或 CMD 并运行以下命令进行安装。

winget install -e --id Docker.DockerDesktop

UAC 提示将要求进行更改的权限,单击“是”继续 Docker 桌面安装。很快,Docker 将安装在您的系统上。

但是我们还不能运行 Docker,在此之前我们需要为 Windows 10 启用 Hyper-V 或 WSL,否则 Docker 将抛出错误并且无法启动。 我们稍后将在指南中讨论这一点。

手动下载并安装 Docker

如果您想以手动方式安装 Docker,请前往 Docker 桌面下载页面,然后单击“下载 Windows(稳定版)”按钮以下载安装程序文件。

然后,转到您的下载文件夹并双击“Docker 桌面安装程序”安装文件以启动安装过程。

在设置过程中,您将看到一个配置窗口。如果您使用的是 Windows 10 家庭版或想要使用 Docker 的 WSL 2 后端,请勾选“启用 WSL 2 Windows 功能”,如果您想要 Docker 桌面快捷方式,请勾选“添加桌面快捷方式”,然后按“确定”开始安装。

一旦 Docker 桌面设置完成解包和安装文件,点击“关闭并重新启动”按钮完成 docker 安装过程。

启用 Hyper-V 或 WSL?

现在剩下的就是根据您拥有的 Windows 10 版本和版本启用 Hyper-V 或 WSL。

  • Windows 10 专业版、企业版和教育版 1703 更新或更新:如果您不在 2004 更新或更高版本,则只能使用 Hyper-V 后端。
  • Windows 10 家庭版 2004 更新或更高版本:由于家庭版不提供 Hyper-V 功能,因此只能启用 WSL。
  • Windows 10 专业版、企业版和教育版 2004 更新或更新:Hyper-V 和 WSL 都可以启用并与 docker 一起使用。

启用 Hyper-V

Hyper-V 是适用于 Windows 10 的本机管理程序,可用于创建和运行虚拟机。 Hyper-V 即将成为在 Windows 10 上运行容器的传统选项,因为 docker 计划使用 WSL 作为其主要后端来运行容器。

但是如果你想运行 Docker 原生的 Windows 容器,你仍然需要 Hyper-V。因此,要启用 Hyper-V,请以管理员身份打开 PowerShell 并运行以下命令:

Enable-WindowsOptionalFeature -Online -FeatureName $("Microsoft-Hyper-V", "Containers") -All

PowerShell 将提示您重新启动计算机以完成 Hyper-V 安装,键入 Y 并按 Enter 执行相同操作。重新启动计算机后,您可以运行 Docker Desktop 并使用容器。

启用 WSL

适用于 Linux 的 Windows 子系统 (WSL) 是一个兼容层,允许用户在 Windows 10 上本地运行 Linux 应用程序。Docker WSL 后端允许用户在没有 Hyper-V 仿真的情况下在 Windows 上运行本地 Linux Docker 容器。

如果您有最新的 Windows 10 2004 更新,那么建议使用 WSL 作为 Docker 后端,因为它的性能优于 Hyper-V 后端。 Windows 10 家庭版用户别无选择,只能使用 Docker 的 WSL 后端,因为家庭版没有 Hyper-V 功能。

笔记:如果您在设置中勾选了“启用 WSL 2 Windows 功能”,则可以跳过此命令,因为 Docker 设置会自动启用 WSL。转到下面的“更新 WSL”部分以继续该过程。

以管理员身份打开 PowerShell,然后运行以下命令为 Windows 10 启用 WSL 和“虚拟机平台”WSL 组件。

Enable-WindowsOptionalFeature -Online -FeatureName $("VirtualMachinePlatform", "Microsoft-Windows-Subsystem-Linux")

按“Y”并按回车键重新启动计算机并完成该过程。

更新 WSL

完成 Docker 安装并重新启动系统后,当您运行 Docker 桌面时,您将看到如下所示的错误。

单击此链接或错误中的链接以转到包含最新 WSL2 内核更新的 Microsoft Docs 页面。然后点击页面上的“下载最新的WSL2 Linux内核”链接,下载“wsl_update_x64”安装文件。

双击您在上述步骤中下载的安装文件,并在提示许可时按“是”。

为 Windows 10 启用并更新 WSL 后,您可以运行 Docker 在“开始”菜单中搜索它。

在 Hyper-V 和 WSL 后端之间切换

如果您同时启用了 Hyper-V 和 WSL,您可以使用这两个后端并在它们之间切换以使用本机 Windows 容器或 Linux 容器。

通过转到 Docker 系统托盘图标,右键单击它并选择“切换到 Windows 容器”选项,切换到 Hyper-V 后端。同样,您可以通过选择“切换到 Linux 容器”选项切换到 WSL 后端。

验证 Docker 安装

系统托盘中的白鲸表示 Docker 正在运行。但是您也可以通过打开 PowerShell 或 CMD 并键入来测试您的 docker 安装 码头工人--版本

PS C:\Users\ATH> docker --version Docker version 19.03.8, build afacb8b

接下来,尝试通过运行拉取 hello-world 映像并运行容器 码头工人运行你好世界 PowerShell 或 CMD 中的命令:

PS C:\Users\ATH> docker run hello-world Unable to find image 'hello-world:latest' local latest: Pulling from library/hello-world 0e03bdcc26d7: pull complete Digest: sha256:6a65f928fb91fcfbc963f7aa6​​d425487fcfbc963f7aa6​​d42537f7aa6​​d42537f440e430e435c88cf98cf930 -world:latest 来自 Docker 的问候!此消息表明您的安装似乎工作正常。

此消息表明我们的 Docker 安装成功,我们已准备好拉取镜像和创建容器。