I have a Windows Server 2022 running on GCP. I've installed docker as described here: https://cloud.google.com/compute/docs/containers#docker_on_windows
Namely, I did this:
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Install-Package -Name docker -ProviderName DockerMsftProvider
Restart-Computer -Force
However, when I try to run a linux image, I get
PS C:\Windows\system32> docker run busybox ls
Unable to find image 'busybox:latest' locally
latest: Pulling from library/busybox
docker: no matching manifest for windows/amd64 10.0.20348 in the manifest list entries.
See 'docker run --help'.
PS C:\Windows\system32> docker run --rm --platform linux alpine ls
Unable to find image 'alpine:latest' locally
docker: Error response from daemon: unsupported os linux.
See 'docker run --help'.
What am I doing wrong?
Edit. I can't enable hyper-V on GCP. My processor is Intel(R) Xeon(R) CPU @ 2.80GHz 2.80 GHz should't it allow nested virtualization
Screenshot
Looks like I need to enable nested virtualization in gcp. For that, I need to set enableNestedVirtualization
field to true
. There are descriptions on how to do it with gcloud api, but no way I can get my customer to do that. Any way to do it either in the WebUI or the VPS itself?
Edit 2. Does this mean I can't run a linux docker container from Windows? Or is docker a special case?
L1 VMs have the following restrictions:
You must run Linux-based OSes; you can't use Windows Server images.
https://cloud.google.com/compute/docs/instances/nested-virtualization/overview