skip to Main Content

I am using windows server 2016. I have installed docker using MS doc: https://learn.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:UsersAdministrator> 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:UsersAdministrator> 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:UsersAdministrator> 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:ProgramDatadocker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Insecure Registries:
 127.0.0.0/8
PS C:UsersAdministrator

2

Answers


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

    On Windows versions < 1709, you cannot use: WSL, Hyper-V, LinuxKit, Docker Desktop to solve the problem.

    Working method, but with a big loss of performance:

    1. Install Qemu, VMware or VirtualBox.
    2. Install in virtual machine any Linux server distribution (e.g. Debian).
    3. Then install Docker and Docker Compose: apt install -y docker docker.io docker-compose.
    4. Now you can run any Linux container:)
    Login or Signup to reply.
  2. 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).

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search