Is there a supported path for installing Docker on Windows Server 2022 without an internet connection?
I’ve managed to compile these instructions around the web, but still get the TLS handshake during docker-compose up.
# install Containers feature on Server
# install Hyper-V role on Server
# execute on PC:
Install-PackageProvider -Name DockerMsftProvider
Import-PackageProvider -Name DockerMsftProvider -Force
Find-Package -Provider DockerMsftProvider -AllVersions
Save-Package -Name Docker -Path c:\docker
# copy the file to C:\temp on Server and execute:
Expand-Archive C:\temp\docker-xx.xx.xx.zip -DestinationPath $Env:ProgramFiles -Force
"C:\Program Files\docker\dockerd" --register-service
#add docker installation to path
$newPath = "$env:ProgramFiles\docker;" +
# download docker-compose for windows from this url: [Releases · docker/compose (github.com)](https://github.com/docker/compose/releases/), copy it to C:\Program Files\docker\ and rename to docker-compose.exe
The TLS handshake error in this case was due to the fact that even though these were all local images coming from the local Docker registry, they were built from Microsoft base images, and those required a live internet connection, which this server doesn’t have.
You should probably be aware that Microsoft discontinued support for the DockerMsftProvider earlier this year; you in fact are ending up with an out-of-date version of Mirantis Container Runtime with unpatched vulnerabilities. I would suggest you instead update to a current version of Mirantis Container Runtime (23.0 or 20.10) if you want an installer, or consider something like GitHub - slonopotamus/stevedore: 🚢 Docker distribution for Windows Containers that Just Works if you’re okay with trusting a community source.
There is no official installer for Docker CE, though I think Microsoft has a script that does not permit upgrades. For most users, I would suggest the Stevedore project instead.
It’s also worth noting that MCR is also upstream Moby (plus some additional enterprise patches like FIPS, QA + validation, and support), but their version numbers don’t match on the 20.10 branch. Otherwise, any source is “fine” – it’s really just who you want to trust/get it from, and what kind of install experience they have.