Share feedback
Answers are generated based on the documentation.

在 Windows 上安装 Docker Desktop

Docker Desktop 使用条款

在大型企业(员工超过 250 人 年收入超过 1,000 万美元)中商业使用 Docker Desktop 需要 付费订阅

本页面提供 Docker Desktop for Windows 的下载链接、系统要求和逐步安装说明。

Docker Desktop for Windows - x86_64 Docker Desktop for Windows - x86_64 on the Microsoft Store Docker Desktop for Windows - Arm (Early Access)

如需校验和,请参阅 发布说明

系统要求

Tip

我应该使用 Hyper-V 还是 WSL?

Docker Desktop 在 WSL 和 Hyper-V 上的功能保持一致,对任一种架构都没有偏好。Hyper-V 和 WSL 各有其优缺点,具体取决于您的实际配置和计划用途。

  • WSL 版本 2.1.5 或更高版本。要检查您的版本,请参阅WSL:验证和设置
  • Windows 10 64 位:Enterprise、Pro 或 Education 版本 22H2(构建 19045)。
  • Windows 11 64 位:Enterprise、Pro 或 Education 版本 23H2(构建 22631)或更高版本。
  • 在 Windows 上启用 WSL 2 功能。有关详细说明,请参阅 Microsoft 文档
  • 要在 Windows 10 或 Windows 11 上成功运行 WSL 2,需要以下硬件前提条件:

有关如何在 Docker Desktop 中设置 WSL 2 的更多信息,请参阅 WSL

Note

Docker 仅支持在仍处于 Microsoft 支持时间表 内的 Windows 版本上运行 Docker Desktop。Docker Desktop 不支持 Windows 的服务器版本,例如 Windows Server 2019 或 Windows Server 2022。有关如何在 Windows Server 上运行容器的更多信息,请参阅 Microsoft 官方文档

Important

要运行 Windows 容器,您需要 Windows 10 或 Windows 11 Professional 或 Enterprise 版本。 Windows Home 或 Education 版本只能运行 Linux 容器。

  • Windows 10 64 位:Enterprise、Pro 或 Education 版本 22H2(构建 19045)。

  • Windows 11 64 位:Enterprise、Pro 或 Education 版本 23H2(构建 22631)或更高版本。

  • 启用 Hyper-V 和 Containers Windows 功能。

  • 要在 Windows 10 上成功运行 Client Hyper-V,需要以下硬件前提条件:

Note

Docker 仅支持在仍处于 Microsoft 支持时间表 内的 Windows 版本上运行 Docker Desktop。Docker Desktop 不支持 Windows 的服务器版本,例如 Windows Server 2019 或 Windows Server 2022。有关如何在 Windows Server 上运行容器的更多信息,请参阅 Microsoft 官方文档

Important

要运行 Windows 容器,您需要 Windows 10 或 Windows 11 Professional 或 Enterprise 版本。 Windows Home 或 Education 版本只能运行 Linux 容器。

  • WSL 版本 2.1.5 或更高版本。要检查您的版本,请参阅WSL:验证和设置
  • Windows 10 64 位:Enterprise、Pro 或 Education 版本 22H2(构建 19045)。
  • Windows 11 64 位:Enterprise、Pro 或 Education 版本 23H2(构建 22631)或更高版本。
  • 在 Windows 上启用 WSL 2 功能。有关详细说明,请参阅 Microsoft 文档
  • 要在 Windows 10 或 Windows 11 上成功运行 WSL 2,需要以下硬件前提条件:
Important

不支持 Windows 容器。

在安装了 Docker Desktop 的机器上,使用 Docker Desktop 创建的容器和镜像会在所有用户账户之间共享。这是因为所有 Windows 账户都使用相同的虚拟机来构建和运行容器。请注意,当使用 Docker Desktop WSL 2 后端时,无法在用户账户之间共享容器和镜像。

在 VMware ESXi 或 Azure 虚拟机中运行 Docker Desktop 仅适用于 Docker Business 客户。
它需要首先在超管理器上启用嵌套虚拟化。
有关更多信息,请参阅 在 VM 或 VDI 环境中运行 Docker Desktop

在 Windows 上安装 Docker Desktop

交互式安装

  1. 使用页面顶部的下载按钮或从 发布说明下载安装程序。

  2. 双击 Docker Desktop Installer.exe 运行安装程序。默认情况下,Docker Desktop 安装在 C:\Program Files\Docker\Docker

  3. 根据提示,确保在“配置”页面上选择或取消选择“使用 WSL 2 而非 Hyper-V”选项,具体取决于您选择的后端。

    在仅支持一种后端的系统上,Docker Desktop 会自动选择可用的选项。

  4. 按照安装向导中的说明授权安装程序并继续安装。

  5. 安装成功后,选择“关闭”以完成安装过程。

  6. 启动 Docker Desktop

如果您的管理员账户与用户账户不同,您必须将用户添加到 docker-users 组中,以访问需要更高权限的功能,例如创建和管理 Hyper-V 虚拟机,或使用 Windows 容器:

  1. 管理员 身份运行 计算机管理
  2. 导航到 本地用户和组 > > docker-users
  3. 右键单击以将用户添加到该组。
  4. 注销并重新登录以使更改生效。

从命令行安装

下载 Docker Desktop Installer.exe 后,在终端中运行以下命令来安装 Docker Desktop:

$ "Docker Desktop Installer.exe" install

如果您使用 PowerShell,请运行:

Start-Process 'Docker Desktop Installer.exe' -Wait install

如果您使用 Windows 命令提示符:

start /w "" "Docker Desktop Installer.exe" install

默认情况下,Docker Desktop 安装在 C:\Program Files\Docker\Docker

如果您的管理员账户与用户账户不同,您必须将用户添加到 docker-users 组中,以访问需要更高权限的功能,例如创建和管理 Hyper-V 虚拟机,或使用 Windows 容器。

$ net localgroup docker-users <user> /add

请参阅安装程序标志部分,了解 install 命令接受哪些标志。

启动 Docker Desktop

安装后,Docker Desktop 不会自动启动。要启动 Docker Desktop:

  1. 搜索 Docker,然后在搜索结果中选择 Docker Desktop

  2. Docker 菜单 ( whale menu ) 显示 Docker 订阅服务协议。

    以下是关键点的总结:

    • Docker Desktop 对小企业(员工少于 250 人 AND 年收入低于 1000 万美元)、个人使用、教育用途以及非商业开源项目是免费的。
    • 否则,专业使用需要付费订阅。
    • 政府机构也需要付费订阅。
    • Docker Pro、Team 和 Business 订阅包含 Docker Desktop 的商业使用权限。
  3. 选择 接受 以继续。接受条款后,Docker Desktop 将启动。

    注意,如果您不同意条款,Docker Desktop 将无法运行。您也可以通过打开 Docker Desktop 在以后接受条款。

    有关更多信息,请参阅 Docker Desktop 订阅服务协议。建议您阅读常见问题

Tip

作为 IT 管理员,您可以使用端点管理(MDM)软件来识别您环境中 Docker Desktop 的实例数和版本。这可以提供准确的许可证报告,帮助确保您的设备使用最新版本的 Docker Desktop,并使您能够 强制登录

高级系统配置和安装选项

WSL:验证和设置

如果您选择使用 WSL,请首先运行以下命令在终端中验证您的已安装版本是否满足系统要求:

wsl --version

如果未显示版本信息,您可能使用的是内置版本的 WSL。此版本不支持现代功能,必须更新。

您可以使用以下任一方法更新或安装 WSL:

选项 1:通过终端安装或更新 WSL

  1. 以管理员身份打开 PowerShell 或 Windows 命令提示符。
  2. 运行安装或更新命令。系统可能会提示您重新启动计算机。有关更多信息,请参阅安装 WSL
wsl --install

wsl --update

选项 2:通过 MSI 包安装 WSL

如果由于安全策略阻止了 Microsoft Store 访问:

  1. 前往官方 WSL GitHub 发布页面
  2. 下载最新稳定版本的 .msi 安装程序(在“Assets”下拉列表中)。
  3. 运行下载的安装程序并按照设置说明操作。

安装程序标志

Note

如果您使用 PowerShell,需要在任何标志前使用 ArgumentList 参数。 例如:

Start-Process 'Docker Desktop Installer.exe' -Wait -ArgumentList 'install', '--accept-license'

安装行为

  • --quiet: 运行安装程序时抑制信息输出
  • --accept-license: 立即接受 Docker 订阅服务协议,而无需在首次运行应用程序时要求接受
  • --installation-dir=<path>: 更改默认安装位置(C:\Program Files\Docker\Docker
  • --backend=<backend name>: 为 Docker Desktop 选择默认后端,hyper-vwindowswsl-2(默认)
  • --always-run-service: 安装完成后启动 com.docker.service 并将服务启动类型设置为自动。这绕过了启动 com.docker.service 时通常需要的管理员权限。com.docker.service 由 Windows 容器和 Hyper-V 后端所需。

安全和访问控制

  • --allowed-org=<org name>: 要求用户登录并属于指定的 Docker Hub 组织才能运行应用程序
  • --admin-settings: 自动创建一个 admin-settings.json 文件,用于管理员控制其组织内客户端机器上的某些 Docker Desktop 设置。有关更多信息,请参阅 设置管理
    • 必须与 --allowed-org=<org name> 标志一起使用。
    • 例如:--allowed-org=<org name> --admin-settings="{'configurationFileVersion': 2, 'enhancedContainerIsolation': {'value': true, 'locked': false}}"
  • --no-windows-containers: 禁用 Windows 容器集成。这可以提高安全性。有关更多信息,请参阅 Windows 容器

代理配置

  • --proxy-http-mode=<mode>: 设置 HTTP 代理模式,system(默认)或 manual
  • --override-proxy-http=<URL>: 设置用于出站 HTTP 请求的 HTTP 代理 URL,要求 --proxy-http-modemanual
  • --override-proxy-https=<URL>: 设置用于出站 HTTPS 请求的 HTTP 代理 URL,要求 --proxy-http-modemanual
  • --override-proxy-exclude=<hosts/domains>: 为指定主机和域名绕过代理设置。使用逗号分隔的列表。
  • --proxy-enable-kerberosntlm: 启用 Kerberos 和 NTLM 代理身份验证。启用此功能时,请确保您的代理服务器已正确配置 Kerberos/NTLM 身份验证。适用于 Docker Desktop 4.32 及更高版本。
  • --override-proxy-pac=<PAC file URL>: 设置 PAC 文件 URL。此设置仅在使用 manual 代理模式时生效。
  • --override-proxy-embedded-pac=<PAC script>: 指定嵌入式 PAC(代理自动配置)脚本。此设置仅在使用 manual 代理模式时生效,并优先于 --override-proxy-pac 标志。
指定 PAC 文件的示例
"Docker Desktop Installer.exe" install --proxy-http-mode="manual" --override-proxy-pac="http://localhost:8080/myproxy.pac"
指定 PAC 脚本的示例
"Docker Desktop Installer.exe" install --proxy-http-mode="manual" --override-proxy-embedded-pac="function FindProxyForURL(url, host) { return \"DIRECT\"; }"

数据根目录和磁盘位置

  • --hyper-v-default-data-root=<path>: 指定 Hyper-V 虚拟机磁盘的默认位置。
  • --windows-containers-default-data-root=<path>: 指定 Windows 容器的默认位置。
  • --wsl-default-data-root=<path>: 指定 WSL 发行版磁盘的默认位置。

管理员权限

安装 Docker Desktop 需要管理员权限。但安装后,可以在无需管理员访问权限的情况下使用它。不过,某些操作仍需要提升权限。有关详细信息,请参阅了解 Windows 的权限要求

请参阅 常见问题,了解如何在不需要管理员权限的情况下安装和运行 Docker Desktop。

如果您是 IT 管理员,用户没有管理员权限,但计划执行需要提升权限的操作,请确保使用 --always-run-service 安装程序标志安装 Docker Desktop。这确保在不提示用户账户控制(UAC)提升的情况下仍可执行这些操作。请参阅安装程序标志了解更详细信息。

Windows 容器

在 Docker Desktop 菜单中,您可以切换 Docker CLI 与之通信的守护进程(Linux 或 Windows)。选择 切换到 Windows 容器 以使用 Windows 容器,或选择 切换到 Linux 容器 以使用 Linux 容器(默认)。

有关 Windows 容器的更多信息,请参阅以下文档:

Note

切换到 Windows 容器时,设置仅显示对您的 Windows 容器活跃且适用的选项卡。

如果您在 Windows 容器模式下设置了代理或守护进程配置,这些设置仅适用于 Windows 容器。如果您切换回 Linux 容器,代理和守护进程配置将恢复为您为 Linux 容器设置的配置。您的 Windows 容器设置将被保留,并在您切换回来时再次可用。

接下来该做什么