J'ai un serveur Windows 2022 fonctionnant sur GCP. J'ai installé docker comme décrit ici : https://cloud.google.com/compute/docs/containers#docker_on_windows
En l'occurrence, j'ai fait ceci :
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Install-Package -Name docker -ProviderName DockerMsftProvider
Restart-Computer -Force
Cependant, lorsque j'essaie d'exécuter une image linux, j'obtiens
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'.
Qu'est-ce que je fais de travers ?
Editer. Je ne peux pas activer Hyper-V sur GCP. Mon processeur est Intel(R) Xeon(R) CPU @ 2.80GHz 2.80 GHz ne devrait-il pas permettre la virtualisation imbriquée ?
Il semble que je doive activer la virtualisation imbriquée dans gcp. Pour cela, je dois définir enableNestedVirtualization
au champ true
. Il y a des descriptions sur la façon de le faire avec l'api gcloud, mais il n'y a aucun moyen pour que mon client le fasse. Il y a un moyen de le faire soit dans l'interface Web, soit dans le VPS lui-même ?
Éditer 2. Cela signifie-t-il que je ne peux pas exécuter un conteneur docker linux à partir de Windows ? Ou est-ce que docker est un cas particulier ?
Les VM L1 ont les restrictions suivantes : Vous devez utiliser des systèmes d'exploitation basés sur Linux ; vous ne pouvez pas utiliser d'images Windows Server.
https://cloud.google.com/compute/docs/instances/nested-virtualization/overview