Home > OS >  no matching manifest for windows/amd64 in the manifest list entries on docker windows server 2016
no matching manifest for windows/amd64 in the manifest list entries on docker windows server 2016

Time:03-22

I am using windows server 2016. I have installed docker using MS doc: https://docs.microsoft.com/en-us/virtualization/windowscontainers/quick-start/set-up-environment?tabs=Windows-Server

When I pull the node image from the dockerHub I am facing the below error.

    PS C:\Users\Administrator> docker pull node
    Using default tag: latest
    latest: Pulling from library/node

   no matching manifest for windows/amd64 10.0.14393 in the manifest list entries

Can someone help how I can use these docker images (alpine, Nginx, ubuntu) in windows server 2016?

My docker version and info:

PS C:\Users\Administrator> docker version
Client:
 Version:      1.12.0-dev
 API version:  1.24
 Go version:   go1.5.3
 Git commit:   8e92415
 Built:        Thu May 26 17:08:34 2016
 OS/Arch:      windows/amd64

Server:
 Version:      20.10.9
 API version:  1.41
 Go version:   go1.16.12m2
 Git commit:   9b96ce992b
 Built:        12/21/2021 21:33:06
 OS/Arch:      windows/amd64


PS C:\Users\Administrator> docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 1
Server Version: 20.10.9
Storage Driver: windowsfilter
 Windows:
Execution Driver: <not supported>
Logging Driver: json-file
Plugins:
 Volume: local
 Network: ics internal l2bridge l2tunnel nat null overlay private transparent
Kernel Version: 10.0 14393 (14393.4046.amd64fre.rs1_release.201028-1803)
Operating System: Windows Server 2016 Datacenter Version 1607 (OS Build 14393.4046)
OSType: windows
Architecture: x86_64
CPUs: 2
Total Memory: 8 GiB
Name: EC2XXXXXXXXXXX
ID: XXXX:XXXX:XXX
Docker Root Dir: C:\ProgramData\docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Insecure Registries:
 127.0.0.0/8
PS C:\Users\Administrator

CodePudding user response:

The Docker container uses the OS kernel to run. Your problem is that the node container requires a Linux kernel and you are using a Windows NT kernel.

As far as I know Docker can virtualize the Linux kernel to Windows. This will cause a significant performance loss! I would not recommend using this option for a project deployment.

If you decide that you want to do it, the documentation is here: https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/linux-containers

CodePudding user response:

This is the inverse of the tip provided on the second page. You need to right click on the docker icon and switch to running Linux containers to be able to run these images since they do not have a Windows image available.

From my experience, Windows images are a small minority of the container images available, and most users switch to running Linux images, even on Windows servers, unless they have a use case that cannot be migrated. As a bonus, the Linux images are much smaller and more portable (not tied to specific versions of Windows).

  • Related