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