|
| 1 | +--- |
| 2 | +title: Install and configure |
| 3 | +description: Understand how to use the MSI installer. Also explore additional configuration options. |
| 4 | +keywords: msi, windows, docker desktop, install, deploy, configure |
| 5 | +--- |
| 6 | + |
| 7 | +## Install interactively |
| 8 | + |
| 9 | +1. In the [Docker Admin Console](http://admin.docker.com/), navigate to your organization. |
| 10 | + |
| 11 | +2. Under **Security and access**, select the **Deploy Docker Desktop** page. |
| 12 | + |
| 13 | +3. Select the **Download MSI installer** button. |
| 14 | + |
| 15 | +4. Once downloaded, double-click `Docker Desktop Installer.msi` to run the installer. |
| 16 | + |
| 17 | +5. Once you've accepted the license agreement, you can choose the install location. By default, Docker Desktop is installed at `C:\Program Files\Docker\Docker`. |
| 18 | + |
| 19 | +6. Configure the Docker Desktop installation. You can: |
| 20 | + |
| 21 | + - Create a desktop shortcut |
| 22 | + |
| 23 | + - Set the Docker Desktop service startup type to automatic |
| 24 | + |
| 25 | + - Disable Windows Container usage |
| 26 | + |
| 27 | + - Select the engine for Docker Desktop. Either WSL or Hyper-V. If your system only supports one of the two options, you won't be able to select which backend to use. |
| 28 | + |
| 29 | +7. Follow the instructions on the installation wizard to authorize the installer and proceed with the install. |
| 30 | + |
| 31 | +8. When the installation is successful, select **Finish** to complete the installation process. |
| 32 | + |
| 33 | +If your administrator account is different to your user account, you must add the user to the **docker-users** group: |
| 34 | +1. Run **Computer Management** as an **administrator**. |
| 35 | +2. Navigate to **Local Users and Groups** > **Groups** > **docker-users**. |
| 36 | +3. Right-click to add the user to the group. |
| 37 | +4. Sign out and sign back in for the changes to take effect. |
| 38 | + |
| 39 | +## Install from the command line |
| 40 | + |
| 41 | +This section covers command line installations of Docker Desktop using PowerShell. It provides common installation commands that you can run. You can also add additional arguments which are outlined in [configuration options](#configuration-options). |
| 42 | + |
| 43 | +When installing Docker Desktop, you can choose between interactive or non-interactive installations. |
| 44 | + |
| 45 | +Interactive installations, without specifying `/quiet` or `/qn`, display the user interface and let you select your own properties. |
| 46 | + |
| 47 | +When installing via the user interface it's possible to: |
| 48 | + |
| 49 | +- Choose the destination folder |
| 50 | +- Create a desktop shortcut |
| 51 | +- Configure the Docker Desktop service startup type |
| 52 | +- Disable Windows Containers |
| 53 | +- Choose between the WSL or Hyper-V engine |
| 54 | + |
| 55 | +Non-interactive installations are silent and any additional configuration must be passed as arguments. |
| 56 | + |
| 57 | +### Common installation commands |
| 58 | + |
| 59 | +> **Important** |
| 60 | +> |
| 61 | +> Admin rights are required to run any of the following commands. |
| 62 | +{ .important } |
| 63 | + |
| 64 | +#### Installing interactively with verbose logging |
| 65 | + |
| 66 | +```powershell |
| 67 | +msiexec /i "DockerDesktop.msi" /L*V ".\msi.log" |
| 68 | +``` |
| 69 | + |
| 70 | +#### Installing interactively without verbose logging |
| 71 | + |
| 72 | +```powershell |
| 73 | +msiexec /i "DockerDesktop.msi" |
| 74 | +``` |
| 75 | + |
| 76 | +#### Installing non-interactively with verbose logging |
| 77 | + |
| 78 | +```powershell |
| 79 | +msiexec /i "DockerDesktop.msi" /L*V ".\msi.log" /quiet |
| 80 | +``` |
| 81 | + |
| 82 | +#### Installing non-interactively and suppressing reboots |
| 83 | + |
| 84 | +```powershell |
| 85 | +msiexec /i "DockerDesktop.msi" /L*V ".\msi.log" /quiet /norestart |
| 86 | +``` |
| 87 | + |
| 88 | +#### Installing non-interactively with admin settings |
| 89 | + |
| 90 | +```powershell |
| 91 | +msiexec /i "DockerDesktop.msi" /L*V ".\msi.log" /quiet /norestart ADMINSETTINGS="{"configurationFileVersion":2,"enhancedContainerIsolation":{"value":true,"locked":false}}" ALLOWEDORG="docker.com" |
| 92 | +``` |
| 93 | + |
| 94 | +#### Installing with the passive display option |
| 95 | + |
| 96 | +You can use the `/passive` display option instead of `/quiet` when you want to perform a non-interactive installation but show a progress dialog. |
| 97 | + |
| 98 | +In passive mode the installer doesn't display any prompts or error messages to the user and the installation cannot be cancelled. |
| 99 | + |
| 100 | +For example: |
| 101 | + |
| 102 | +```powershell |
| 103 | +msiexec /i "DockerDesktop.msi" /L*V ".\msi.log" /passive /norestart |
| 104 | +``` |
| 105 | + |
| 106 | +> **Tip** |
| 107 | +> |
| 108 | +> Some useful tips to remember when creating a value that expects a JSON string as it’s value: |
| 109 | +> |
| 110 | +> - The property expects a JSON formatted string |
| 111 | +> - The string should be wrapped in double quotes |
| 112 | +> - The string shouldn't contain any whitespace |
| 113 | +> - Property names are expected to be in double quotes |
| 114 | +{ .tip } |
| 115 | + |
| 116 | +### Common uninstall commands |
| 117 | + |
| 118 | +When uninstalling Docker Desktop, you need to use the same `.msi` file that was originally used to install the application. |
| 119 | + |
| 120 | +If you no longer have the original `.msi` file, you need to use the product code associated with the installation. To find the product code, run: |
| 121 | + |
| 122 | +```powershell |
| 123 | +Get-WmiObject Win32_Product | Select-Object IdentifyingNumber, Name | Where-Object {$_.Name -eq "Docker Desktop"} |
| 124 | +``` |
| 125 | + |
| 126 | +It should return output similar to the following: |
| 127 | + |
| 128 | +```text |
| 129 | +IdentifyingNumber Name |
| 130 | +----------------- ---- |
| 131 | +{10FC87E2-9145-4D7D-B493-2E99E8D8E103} Docker Desktop |
| 132 | +``` |
| 133 | +> **Note** |
| 134 | +> |
| 135 | +> This command can take some time to return, depending on the number of installed applications. |
| 136 | +
|
| 137 | +`IdentifyingNumber` is the applications product code and can be used to uninstall Docker Desktop. For example: |
| 138 | + |
| 139 | +```powershell |
| 140 | +msiexec /x {10FC87E2-9145-4D7D-B493-2E99E8D8E103} /L*V ".\msi.log" /quiet |
| 141 | +``` |
| 142 | + |
| 143 | +#### Uninstalling interactively with verbose logging |
| 144 | + |
| 145 | +```powershell |
| 146 | +msiexec /x "DockerDesktop.msi" /L*V ".\msi.log" |
| 147 | +``` |
| 148 | + |
| 149 | +#### Uninstalling interactively without verbose logging |
| 150 | + |
| 151 | +```powershell |
| 152 | +msiexec /x "DockerDesktop.msi" |
| 153 | +``` |
| 154 | + |
| 155 | +#### Uninstalling non-interactively with verbose logging |
| 156 | + |
| 157 | +```powershell |
| 158 | +msiexec /x "DockerDesktop.msi" /L*V ".\msi.log" /quiet |
| 159 | +``` |
| 160 | + |
| 161 | +#### Uninstalling non-interactively without verbose logging |
| 162 | + |
| 163 | +```powershell |
| 164 | +msiexec /x "DockerDesktop.msi" /quiet |
| 165 | +``` |
| 166 | + |
| 167 | +### Configuration options |
| 168 | + |
| 169 | +> **Important** |
| 170 | +> |
| 171 | +> In addition to the following custom properties, the Docker Desktop MSI installer also supports the standard [Windows Installer command line options](https://learn.microsoft.com/en-us/windows/win32/msi/standard-installer-command-line-options). |
| 172 | +{ .important } |
| 173 | + |
| 174 | +| Property | Description | Default | |
| 175 | +| :--- | :--- | :--- | |
| 176 | +| `ENABLEDESKTOPSHORTCUT` | Creates a desktop shortcut. | 1 | |
| 177 | +| `INSTALLFOLDER` | Specifies a custom location where Docker Desktop will be installed. | C:\Program Files\Docker | |
| 178 | +| `ADMINSETTINGS` | Automatically creates an `admin-settings.json` file which is used to [control certain Docker Desktop settings](../../hardened-desktop/settings-management/_index.md) on client machines within organizations. It must be used together with the `ALLOWEDORG` property. | None | |
| 179 | +| `ALLOWEDORG` | Requires the user to sign in and be part of the specified Docker Hub organization when running the application. This creates a registry key called `allowedOrgs` in `HKLM\Software\Policies\Docker\Docker Desktop`. | None | |
| 180 | +| `ALWAYSRUNSERVICE` | Lets users switch to Windows containers without needing admin rights | 0 | |
| 181 | +| `DISABLEWINDOWSCONTAINERS` | Disables the Windows containers integration | 0 | |
| 182 | +| `ENGINE` | Sets the Docker Engine that's used to run containers. This can be either `wsl` , `hyperv`, or `windows` | `wsl` | |
| 183 | +| `PROXYHTTPMODE` | Sets the HTTP Proxy mode. This can be either `system` or `manual` | `system` | |
| 184 | +| `OVERRIDEPROXYHTTP` | Sets the URL of the HTTP proxy that must be used for outgoing HTTP requests. | None | |
| 185 | +| `OVERRIDEPROXYHTTPS` | Sets the URL of the HTTP proxy that must be used for outgoing HTTPS requests. | None | |
| 186 | +| `OVERRIDEPROXYEXCLUDE` | Bypasses proxy settings for the hosts and domains. Uses a comma-separated list. | None | |
| 187 | +| `HYPERVDEFAULTDATAROOT` | Specifies the default location for the Hyper-V VM disk. | None | |
| 188 | +| `WINDOWSCONTAINERSDEFAULTDATAROOT` | Specifies the default location for Windows containers. | None | |
| 189 | +| `WSLDEFAULTDATAROOT` | Specifies the default location for the WSL distribution disk. | None | |
| 190 | +| `DISABLEANALYTICS` | When set to 1, analytics collection will be disabled for the MSI. For more information, see [Analytics](#analytics). | 0 | |
| 191 | + |
| 192 | + |
| 193 | +Additionally, you can also use `/norestart` or `/forcerestart` to control reboot behaviour. |
| 194 | + |
| 195 | +By default, the installer reboots the machine after a successful installation. When ran silently, the reboot is automatic and the user is not prompted. |
| 196 | + |
| 197 | +## Updates |
| 198 | + |
| 199 | +When installing Docker Desktop with the MSI, in-app updates are disabled. |
| 200 | + |
| 201 | +Docker Desktop will notify you when an update is available. To update Docker Desktop, download the latest installer from the Docker Admin Console. Navigate to the **Deploy Docker Desktop** page under **Security and access**. |
| 202 | + |
| 203 | +To keep up to date with new releases, you can check use the [release notes](https://docs.docker.com/desktop/release-notes/) page. |
| 204 | + |
| 205 | +## Analytics |
| 206 | + |
| 207 | +The MSI installer collects data to better understand user behaviour and to improve the user experience by identifying and addressing issues or optimizing popular features. |
| 208 | + |
| 209 | +### How to opt-out |
| 210 | + |
| 211 | +{{< tabs >}} |
| 212 | +{{< tab name="From the GUI" >}} |
| 213 | + |
| 214 | +When you install Docker Desktop from the default installer GUI, select the **Disable analytics** checkbox located on the bottom-left corner of the **Welcome** dialog. |
| 215 | + |
| 216 | +{{< /tab >}} |
| 217 | +{{< tab name="From the command line" >}} |
| 218 | + |
| 219 | +When you install Docker Desktop from the command line, use the `DISABLEANALYTICS` property. |
| 220 | + |
| 221 | +```powershell |
| 222 | +msiexec /i "win\msi\bin\en-US\DockerDesktop.msi" /L*V ".\msi.log" DISABLEANALYTICS=1 |
| 223 | +``` |
| 224 | + |
| 225 | +{{< /tab >}} |
| 226 | +{{< /tabs >}} |
| 227 | + |
| 228 | +### Persistence |
| 229 | + |
| 230 | +If you decide to disable analytics for an installation, your choice is persisted in the registry and honoured across future upgrades and uninstalls. |
| 231 | + |
| 232 | +However, the key is removed when Docker Desktop is uninstalled and must be configured again via one of the previous methods. |
| 233 | + |
| 234 | +The registry key is as follows: |
| 235 | + |
| 236 | +```powershell |
| 237 | +SOFTWARE\Docker Inc.\Docker Desktop\DisableMsiAnalytics |
| 238 | +``` |
| 239 | + |
| 240 | +When analytics is disabled, this key has a value of `1`. |
| 241 | + |
| 242 | +## Additional resources |
| 243 | + |
| 244 | +- [Explore the FAQs](faq.md) |
0 commit comments