Unattended Installation of Docker Desktop - which parameters can be used besides "install --quiet"?

I would like to do Unattended Installations of Docker Desktop for Windows.

I have found a few parameters that can be used: install --quiet

This means that I can do an Unattended Installation by running the following command:

“Docker for Windows Installer.exe” install --quiet

This works fine, but the installation ends up in Linux mode.

My goal is to have an installation that ends in Windows Container mode and Expiremental enabled.

I can use the command “Docker for Windows Installer.exe” install --quiet, then use UI to switch to Windows Container and the configure Expiremental mode ,but I would really very much like to be able to install it default as Windows Container.

Hope someone can help!
Regards
Ib Tornøe

2 Likes

Hello Ib Tornøe,

I’m just dealing with the same issue right now.
By default Docker for Windows is installed with Linux Container Subsystem. This commands allows to switch engine when “Docker Desktop.exe” is already started and sends the error about missing WSL:
“C:\Program FIles\Docker\Docker\DockerCli.exe” -SwitchWindowsEngine
And then you need to start “Docker Desktop.exe” again.
But the question - how to automate all this stuff? Have you already found any workaround on this?

My idea is to work around first WSL error popup, or track notification tooltip of “Docker Desktop.exe” in system tray.

Ok, made it this way after docker desktop installation (Powershell):
dockerDaemon = "{ENV:ProgramFiles}\Docker\Docker\resources\dockerd.exe"
Stop-Service -Name “com.docker.service”
& sc.exe delete com.docker.service
& $dockerDaemon -H npipe:////./pipe/docker_engine --service-name=com.docker.windows --register-service
Start-Service -Name “com.docker.windows”

docker ps -a now works fine