I inherited a Windows Server Core machine, and I want to run linux-based containers in docker on that machine. It is currently set up to run windows-based containers, so I want to switch to running linux containers.
When I try to use a linux-based image, I get this error:
PS C:\Program Files\Docker> docker pull my-linux-based-image
Pulling from my-linux-based-image
image operating system "linux" cannot be used on this platform
On my Windows desktop machine, I'd use the Docker Desktop context menu from the system tray to switch between linux and windows containers, but that's not available in Windows Core. Can I make this switch from the command line?
I see the suggestion to use DockerCli.exe
but I don't have this installed, even after making sure I installed the latest docker package. Is there a separate cli-related package I need?
Here's the version info for the docker install on my Windows Core machine:
PS C:\Program Files\Docker> docker version
Client: Docker Engine - Enterprise
Version: 18.09.8
API version: 1.39
Go version: go1.10.8
Git commit: 90e30bdf98
Built: 07/16/2019 17:13:22
OS/Arch: windows/amd64
Experimental: false
Server: Docker Engine - Enterprise
Engine:
Version: 18.09.8
API version: 1.39 (minimum version 1.24)
Go version: go1.10.8
Git commit: 90e30bdf98
Built: 07/16/2019 17:11:04
OS/Arch: windows/amd64
Experimental: false
Dockercli -SwitchDaemon
option should help here.
$ ./DockerCli.exe
Usage: DockerCli.exe [-SwitchDaemon] [-Version]
-Version: Show the Docker for Windows version information
-SwitchDaemon: Point the Docker CLI to either Linux containers or Windows containers
-SharedDrives: List the shared drives
You can control which engine you want to switch with using option.
-SwitchLinuxEngine
-SwitchWindowsEngine
More info here.
Hope this helps.
Update:
DockerCli.exe
can be found in Program Files
folder.
In my case it was here /c/Program\ Files/Docker/Docker/DockerCli.exe
You have to install Docker Enterprise to be able to switch from Windows to Linux containers. See https://computingforgeeks.com/how-to-run-docker-containers-on-windows-server-2019/ for more info.
In powershell I Ran below exact command-
./DockerCli.exe -SwitchDaemon
NOTE- before running the above command move to this path
**C:\Program Files\Docker\Docker**
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With