Docker Community Forums

Share and learn in the Docker community.

Docker Enterprise on Windows Server 2016 problems (manifest and linux)

I am on Windows 2016 and am trying to get Docker EE working. I followed the article https://docs.docker.com/install/windows/docker-ee to install Docker. I got Docker installed and can confirm that Docker service is running. But anytime I try to pull an image, I get this error. It also doesn’t work with Linux images.

I don’t have a Docker icon to play around with for settings or switching to Linux mode or something. It is Docker Enterprise/Windows 2016 containers. I also don’t have any config.json in C:\ProgramData\Docker although I tried creating it but nothing worked. I only have a key.json file in there and it has nothing for manifest.

I will be running some Linux containers but my first problem is to get it to download a container. Any help will be appreciated. I have gone through enough of docs on forums.docker.com.

EDIT: I tried [Environment]::SetEnvironmentVariable(“LCOW_SUPPORTED”, “1”, “Machine”) to run Linux containers, NO change. Still have the issue.

EDIT: I tried install through DockerMsftProvider and DockerProvider just to see if there’s any difference in result. NO change, issue persists.

PS C:\> docker pull debian
Using default tag: latest
latest: Pulling from library/debian
no matching manifest for windows/amd64 10.0.14393 in the manifest list entries

PS C:\> docker pull microsoft/azure-cli
Using default tag: latest
latest: Pulling from microsoft/azure-cli
image operating system "linux" cannot be used on this platform

PS C:\> docker pull hello-world:nanoserver 
nanoserver: Pulling from library/hello-world no matching manifest for windows/amd64 10.0.14393 in the manifest list entries

PS C:\> docker pull hello-world
Using default tag: latest
latest: Pulling from library/hello-world
no matching manifest for windows/amd64 10.0.14393 in the manifest list entries


PS C:\> docker version
Client: Docker Engine - Enterprise
 Version:           19.03.1
 API version:       1.40
 Go version:        go1.12.5
 Git commit:        f660560464
 Built:             07/25/2019 20:59:52
 OS/Arch:           windows/amd64
 Experimental:      false

Server: Docker Engine - Enterprise
 Engine:
  Version:          19.03.1
  API version:      1.40 (minimum version 1.24)
  Go version:       go1.12.5
  Git commit:       f660560464
  Built:            07/25/2019 20:57:41
  OS/Arch:          windows/amd64
  Experimental:     false

PS C:\> docker info
Client:
 Debug Mode: false
 Plugins:
WARNING: Plugin "C:\\Program Files\\Docker\\cli-plugins\\docker-app.exe" is not valid: failed to fetch metadata: exit status 1
WARNING: Plugin "C:\\Program Files\\Docker\\cli-plugins\\docker-assemble.exe" is not valid: failed to fetch metadata: exit status 1
WARNING: Plugin "C:\\Program Files\\Docker\\cli-plugins\\docker-cluster.exe" is not valid: failed to fetch metadata: exit status 1
WARNING: Plugin "C:\\Program Files\\Docker\\cli-plugins\\docker-registry.exe" is not valid: failed to fetch metadata: exit status 1
WARNING: Plugin "C:\\Program Files\\Docker\\cli-plugins\\docker-template.exe" is not valid: failed to fetch metadata: exit status 1

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 19.03.1
 Storage Driver: windowsfilter
  Windows:
 Logging Driver: json-file
 Plugins:
  Volume: local
  Network: ics l2bridge l2tunnel nat null overlay transparent
  Log: etwlogs fluentd gcplogs gelf json-file local logentries splunk syslog
 Swarm: inactive
 Default Isolation: process
 Kernel Version: 10.0 14393 (14393.3085.amd64fre.rs1_release.190703-1816)
 Operating System: Windows Server 2016 Standard Version 1607 (OS Build 14393.3085)
 OSType: windows
 Architecture: x86_64
 CPUs: 4
 Total Memory: 8GiB
 Name: HOSTNAME
 ID: EQ6T:TIRP:AEQY:2KMA:UVLC:HYEC:GKAP:N6L7:L2FR:MAAX:MUNZ:Z3IM
 Docker Root Dir: C:\ProgramData\docker
 Debug Mode: false
 HTTP Proxy: http://some_proxy:80/
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

PS C:\> docker --version
Docker version 19.03.1, build f660560464

Any progress on this issue? I’ve just hit the same dead end.

This is because on Windows Server you cannot run Docker Desktop. You can only run Docker Engine / CLI, which is what you are doing.

Docker / containers is not the same as virtualisation and so I think you might be getting confused. You can only run Windows containers on Windows Server, the Docker Desktop (on Windows 10) actually runs a Linux VM in Hyper-V which is why that appears to work, but isn’t the same thing.

So, to test your Windows Docker install works you can try running a PowerShell container with this command:

docker run --rm mcr.microsoft.com/windows/servercore:ltsc2016 powershell write-output 'hello-world'

This should write hello-world to the screen showing that you can indeed run Windows containers. If you want to run Linux containers you will need a Linux VM and can then point your CLI at it with $env:DOCKER_HOST environment variable.