在 Windows Server 2022 上运行 Linux Docker 容器

在 Windows Server 2022 上运行 Linux Docker 容器

我在 GCP 上运行 Windows Server 2022。我按照此处所述安装了 docker:https://cloud.google.com/compute/docs/containers#docker_on_windows

也就是说,我这样做了:

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Install-Package -Name docker -ProviderName DockerMsftProvider
Restart-Computer -Force

然而,当我尝试运行 Linux 映像时,我得到了

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'.

我究竟做错了什么?

编辑。我​​无法在 GCP 上启用 hyper-V。我的处理器是 Intel(R) Xeon(R) CPU @ 2.80GHz 2.80 GHz 它不应该允许嵌套虚拟化吗

截屏

看来我需要在 gcp 中启用嵌套虚拟化。为此,我需要将enableNestedVirtualization字段设置为true。有关于如何使用 gcloud api 执行此操作的描述,但我无法让我的客户这样做。有没有办法在 WebUI 或 VPS 本身中执行此操作?

编辑 2. 这是否意味着我无法从 Windows 运行 Linux Docker 容器?或者 Docker 是一个特例?

L1 VM 具有以下限制:您必须运行基于 Linux 的操作系统;不能使用 Windows Server 映像。

https://cloud.google.com/compute/docs/instances/nested-virtualization/overview

答案1

因此,关于您要做的事情有以下几点:

相关内容