Commands for installing Docker Desktop without prompts, removing it again and detecting it from deployment tools. A command is shown only when it is certain: from the manifest or the installer technology’s documented default.
Related guide: Silent install switches: MSI, NSIS, Inno Setup · Uninstall a program with the registry or PowerShell
With winget
PowerShell
winget install --id Docker.DockerDesktop -e --silent --accept-package-agreements --accept-source-agreementswinget upgrade --id Docker.DockerDesktop -e --silentwinget uninstall --id Docker.DockerDesktop -e --silentBy installer
64-bit · EXE · All users · en-US
Silent install
"Docker Desktop Installer.exe" install --quietARM64 · EXE · All users · en-US
Silent install
"Docker Desktop Installer.exe" install --quietPowerShell: download, verify, install
Downloads the official file, checks its SHA256 and installs it silently.
install-docker-desktop.ps1
$url = 'https://desktop.docker.com/win/main/amd64/244584/Docker%20Desktop%20Installer.exe'
$sha256 = '2668273F82B342A058A28F9AB53EA7BDDDE10BB6D51307CE2EC54C2D36459744'
$file = Join-Path $env:TEMP 'Docker Desktop Installer.exe'
Invoke-WebRequest -Uri $url -OutFile $file -UseBasicParsing
if ((Get-FileHash $file -Algorithm SHA256).Hash -ne $sha256) { throw 'SHA256 mismatch' }
Start-Process -FilePath $file -ArgumentList 'install --quiet' -Wait install-docker-desktop.ps1
$url = 'https://desktop.docker.com/win/main/arm64/244584/Docker%20Desktop%20Installer.exe'
$sha256 = '91D18626E6C297BEBC9FADB73451844B7CB3300B38161AABBA1AA44D87E8C40E'
$file = Join-Path $env:TEMP 'Docker Desktop Installer.exe'
Invoke-WebRequest -Uri $url -OutFile $file -UseBasicParsing
if ((Get-FileHash $file -Algorithm SHA256).Hash -ne $sha256) { throw 'SHA256 mismatch' }
Start-Process -FilePath $file -ArgumentList 'install --quiet' -Wait