简体   繁体   中英

'No matching manifest for unknown in the manifest list entries' when pull nanoserver:1903

I want to pull microsoft-windows-nanoserver for my windows container on windows 10 pro.

My environment:

Docker Desktop
Version: 2.0.0.3 (31259)
Channel: stable
Sha1: 8858db33c8692b69de9987a5d672798d778735b2
OS Name: Windows 10 Pro
Windows Edition: Professional
Windows Build Number: 17763

Client: Docker Engine - Community
 Version:   18.09.2
 API version:   1.39
 Go version:go1.10.8
 Git commit:6247962
 Built: Sun Feb 10 04:12:31 2019
 OS/Arch:   windows/amd64
 Experimental:  false

Server: Docker Engine - Community
 Engine:
  Version:  18.09.2
  API version:  1.39 (minimum version 1.24)
  Go version:   go1.10.6
  Git commit:   6247962
  Built:Sun Feb 10 04:28:48 2019
  OS/Arch:  windows/amd64
  Experimental: true

What's strange is:

Pull 1803 is ok:

C:\>docker pull mcr.microsoft.com/windows/nanoserver:1803
1803: Pulling from windows/nanoserver
e46172273a4e: Pull complete
8f7ed89f9e35: Pull complete
Digest: sha256:bc5c1878a69c4538d55bc74e50b7dbafafff1a373120e624e8bad646a0a505dc
Status: Downloaded newer image for mcr.microsoft.com/windows/nanoserver:1803

But pull 1903 is not ok:

C:\>docker pull mcr.microsoft.com/windows/nanoserver:1903
1903: Pulling from windows/nanoserver
no matching manifest for unknown in the manifest list entries

What I notice is there is a table in its dockerhub:

Tags    Architecture    Dockerfile  OsVersion   CreatedTime LastUpdatedTime
1903    multiarch   No Dockerfile   10.0.18362.239  05/21/2019 18:01:07 07/09/2019 18:29:39
1803    multiarch   No Dockerfile   10.0.17134.885  10/05/2018 22:06:26 07/09/2019 17:41:59

Does the OsVersion mean the docker host os's version or my contaner's distrubtion's version ? You can see my windows host os is 17763 , this could be the reason I cannot pull 1903 or other reason?

Additional, if above guess is correct, then why could this happen? As I know, container just share the host's kernel, shouldn't care the os version, meanwhile, docker for windows on windows10 use hyper-v , why it care my windows os's version?

I really don't want to upgrade my os again and again if I want to use new version container... I hope my guess is wrong, anything I miss?

I find the answer.

  1. After I execute docker pull mcr.microsoft.com/windows/nanoserver:1903 , I find there is a debug log in C:\\Users\\user\\AppData\\Local\\Docker\\log.txt , it said:

    debug: a Windows version 10.0.18362-based image is incompatible with a 10.0.17763 host

    So, it confirms my guess, my issue happens because I use an old windows 10 version, had to upgrade my windows10 to at least 10.0.18362.239 to use nanoserver:1903 .

  2. The reason why we had to do above, I see microsoft official explainaiton :

    Windows Server 2016 and Windows 10 Anniversary Update (both version 14393) were the first Windows releases that could build and run Windows Server containers. Containers built using these versions can run on newer releases such as Windows Server version 1709, but there are a few things you need to know before you start.

    As we've been improving the Windows container features, we've had to make some changes that can affect compatibility. Older containers will run the same on newer hosts with Hyper-V isolation, and will use the same (older) kernel version. However, if you want to run a container based on a newer Windows build, it can only run on the newer host build.

    From it, it seems, microsoft still in the process of improve windows container features, so if need to use container which based on newer windows, we had to upgrade host windows os(maybe also related to some hyper-v upgrade I guess).

Many thanks for sharing the answer! I had the same problem but with other image, I wasted a lot of time trying to find anything about this error until I reach to this.

I hope that other user can give you a vote because this is really useful :).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM