MSI 安装程序
MSI 安装包支持各种 MDM(移动设备管理)解决方案,非常适合批量安装,无需用户手动设置。借助此安装包,IT 管理员可以确保 Docker Desktop 的标准化、策略驱动安装,从而提高整个组织的效率和软件管理水平。
交互式安装
-
在 Docker Home 中,选择您的组织。
-
选择 Docker Desktop,然后选择 Deploy。
-
在 Windows OS 选项卡中,选择 Download MSI installer 按钮。
-
下载后,双击
Docker Desktop Installer.msi运行安装程序。 -
接受许可协议后,选择安装位置。默认情况下,Docker Desktop 安装在
C:\Program Files\Docker\Docker(全用户安装)或%LOCALAPPDATA%\Programs\DockerDesktop(每用户安装)。 -
配置 Docker Desktop 安装。您可以:
-
创建桌面快捷方式
-
将 Docker Desktop 服务启动类型设置为自动
-
禁用 Windows 容器使用
-
选择 Docker Desktop 后端:WSL 或 Hyper-V。如果您的系统仅支持一种,则无法选择。
-
-
按照安装向导上的说明授权安装程序并继续安装。
-
安装成功后,选择 Finish 完成安装过程。
如果您的管理员帐户与用户帐户不同,您必须将用户添加到 docker-users 组才能访问需要更高权限的功能,例如创建和管理 Hyper-V 虚拟机或使用 Windows 容器:
- 以管理员身份运行计算机管理。
- 导航到本地用户和组 > 组 > docker-users。
- 右键单击以将用户添加到组中。
- 注销并重新登录以使更改生效。
Note
从命令行安装
本节介绍使用 PowerShell 进行 Docker Desktop 的命令行安装。它提供了您可以运行的常见安装命令。您还可以添加其他参数,这些参数在配置选项中概述。
安装 Docker Desktop 时,您可以在交互式安装和非交互式安装之间进行选择。
交互式安装(不指定 /quiet 或 /qn)会显示用户界面,让您选择自己的属性。
通过用户界面安装时,可以:
- 选择目标文件夹
- 创建桌面快捷方式
- 配置 Docker Desktop 服务启动类型
- 禁用 Windows 容器
- 在 WSL 或 Hyper-V 引擎之间进行选择
非交互式安装是静默的,任何额外的配置都必须作为参数传递。
常见安装命令
运行以下任何命令都需要管理员权限。
交互式安装并记录详细日志
msiexec /i "DockerDesktop.msi" /L*V ".\msi.log"交互式安装但不记录详细日志
msiexec /i "DockerDesktop.msi"非交互式安装并记录详细日志
msiexec /i "DockerDesktop.msi" /L*V ".\msi.log" /quiet非交互式安装并禁止重启
msiexec /i "DockerDesktop.msi" /L*V ".\msi.log" /quiet /norestart非交互式安装并使用管理员设置
msiexec /i "DockerDesktop.msi" /L*V ".\msi.log" /quiet /norestart ADMINSETTINGS="{""configurationFileVersion"":2,""enhancedContainerIsolation"":{""value"":true,""locked"":false}}" ALLOWEDORG="your-organization"交互式安装并允许用户无需管理员权限即可切换到 Windows 容器
msiexec /i "DockerDesktop.msi" /L*V ".\msi.log" /quiet /norestart ALLOWEDORG="your-organization" ALWAYSRUNSERVICE=1交互式安装并指定 PAC 文件
PowerShell
msiexec --% /i "DockerDesktop.msi" /L*V ".\msi.log" PROXYHTTPMODE="manual" OVERRIDEPROXYPAC="http://localhost:8080/myproxy.pac"交互式安装并指定 PAC 脚本
PowerShell
msiexec --% /i "DockerDesktop.msi" /L*V ".\msi.log" PROXYHTTPMODE="manual" OVERRIDEPROXYEMBEDDEDPAC="function FindProxyForURL(url,host) {return ""DIRECT"" ;; }"使用被动显示选项安装
当您想要执行非交互式安装但显示进度对话框时,可以使用 /passive 显示选项代替 /quiet。
在被动模式下,安装程序不会向用户显示任何提示或错误消息,并且安装无法取消。
例如:
msiexec /i "DockerDesktop.msi" /L*V ".\msi.log" /passive /norestartTip创建期望 JSON 字符串的值时:
- 该属性期望一个 JSON 格式的字符串
- 字符串应用双引号括起来
- 字符串不应包含任何空格
- 属性名称应为双引号
常见卸载命令
卸载 Docker Desktop 时,需要使用最初用于安装应用程序的相同 .msi 文件。
如果您不再拥有原始的 .msi 文件,则需要使用与安装关联的产品代码。要查找产品代码,请运行:
Get-WmiObject Win32_Product | Select-Object IdentifyingNumber, Name | Where-Object {$_.Name -eq "Docker Desktop"}它应返回类似于以下内容的输出:
IdentifyingNumber Name
----------------- ----
{10FC87E2-9145-4D7D-B493-2E99E8D8E103} Docker DesktopNote此命令可能需要一些时间,具体取决于已安装应用程序的数量。
IdentifyingNumber 是应用程序的产品代码,可用于卸载 Docker Desktop。例如:
msiexec /x {10FC87E2-9145-4D7D-B493-2E99E8D8E103} /L*V ".\msi.log" /quiet交互式卸载并记录详细日志
msiexec /x "DockerDesktop.msi" /L*V ".\msi.log"交互式卸载但不记录详细日志
msiexec /x "DockerDesktop.msi"非交互式卸载并记录详细日志
msiexec /x "DockerDesktop.msi" /L*V ".\msi.log" /quiet非交互式卸载但不记录详细日志
msiexec /x "DockerDesktop.msi" /quiet配置选项
除了以下自定义属性外,Docker Desktop MSI 安装程序还支持标准的 Windows Installer 命令行选项。
| 属性 | 描述 | 默认值 |
|---|---|---|
ENABLEDESKTOPSHORTCUT |
创建桌面快捷方式。 | 1 |
INSTALLFOLDER |
指定 Docker Desktop 将要安装的自定义位置。 | C:\Program Files\Docker |
ADMINSETTINGS |
自动创建一个 admin-settings.json 文件,用于在组织内的客户端计算机上
控制某些 Docker Desktop 设置。必须与 ALLOWEDORG 属性一起使用。 |
无 |
ALLOWEDORG |
要求用户在运行应用程序时登录并成为指定的 Docker Hub 组织的一部分。这会在 HKLM\Software\Policies\Docker\Docker Desktop 中创建一个名为 allowedOrgs 的注册表项。 |
无 |
ALWAYSRUNSERVICE |
允许用户在不需要管理员权限的情况下切换到 Windows 容器 | 0 |
DISABLEWINDOWSCONTAINERS |
禁用 Windows 容器集成 | 0 |
ENGINE |
设置用于运行容器的 Docker 引擎。可以是 wsl、hyperv 或 windows |
wsl |
PROXYENABLEKERBEROSNTLM |
设置为 1 时,启用对 Kerberos 和 NTLM 代理身份验证的支持。适用于 Docker Desktop 4.33 及更高版本 | 0 |
PROXYHTTPMODE |
设置 HTTP 代理模式。可以是 system 或 manual |
system |
OVERRIDEPROXYHTTP |
设置必须用于传出 HTTP 请求的 HTTP 代理的 URL。 | 无 |
OVERRIDEPROXYHTTPS |
设置必须用于传出 HTTPS 请求的 HTTP 代理的 URL。 | 无 |
OVERRIDEPROXYEXCLUDE |
绕过主机和域的代理设置。使用逗号分隔的列表。 | 无 |
OVERRIDEPROXYPAC |
设置 PAC 文件 URL。此设置仅在使用 manual 代理模式时生效。 |
无 |
OVERRIDEPROXYEMBEDDEDPAC |
指定嵌入式 PAC(代理自动配置)脚本。此设置仅在使用 manual 代理模式时生效,并且优先于 OVERRIDEPROXYPAC 标志。 |
无 |
HYPERVDEFAULTDATAROOT |
指定 Hyper-V 虚拟机磁盘的默认位置。 | 无 |
WINDOWSCONTAINERSDEFAULTDATAROOT |
指定 Windows 容器的默认位置。 | 无 |
WSLDEFAULTDATAROOT |
指定 WSL 发行版磁盘的默认位置。 | 无 |
DISABLEANALYTICS |
设置为 1 时,将禁用 MSI 的分析收集。有关更多信息,请参阅分析。 | 0 |
REMOVEEXISTINGINSTALL |
设置为 1 时,会移除任何现有的 EXE 安装。现有的设置和内容会被保留。适用于 Docker Desktop 4.61 及更高版本。 | 1 |
此外,您还可以使用 /norestart 或 /forcerestart 来控制重启行为。
默认情况下,安装程序在成功安装后会重新启动计算机。当以静默方式运行时,重启是自动的,不会提示用户。
分析
MSI 安装程序仅收集与安装相关的匿名使用统计数据。这是为了更好地了解用户行为,并通过识别和解决问题或优化流行功能来改善用户体验。
如何选择退出
当您从默认安装程序 GUI 安装 Docker Desktop 时,选择 Welcome 对话框左下角的 Disable analytics 复选框。
当您从命令行安装 Docker Desktop 时,使用 DISABLEANALYTICS 属性。
msiexec /i "win\msi\bin\en-US\DockerDesktop.msi" /L*V ".\msi.log" DISABLEANALYTICS=1持久性
如果您决定为安装禁用分析,您的选择将保留在注册表中,并在未来的升级和卸载中得到遵守。
但是,当 Docker Desktop 卸载时,该密钥会被删除,必须通过之前的方法之一重新配置。
注册表密钥如下:
SOFTWARE\Docker Inc.\Docker Desktop\DisableMsiAnalytics禁用分析时,此密钥设置为 1。