I have installed Docker on windows server 2016 and using ASP.NET CORE 6 to build an application.
when I tried to build the application from power shell I get the error below
docker build -t dockertesting .
Sending build context to Docker daemon 8.996MB Step 1/17 :
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base 6.0: Pulling from dotnet/aspnet no matching manifest for windows/amd64 10.0.14393 in the manifest list entries
I guess your Windows Server is too old for this image.
Quote:
Windows Server 2016-based containers will not run in a system where the revision numbers of the container host and the container image are different. For example, if the container host is version 10.0.14393.1914 (Windows Server 2016 with KB4051033 applied) and the container image is version 10.0.14393.1944 (Windows Server 2016 with KB4053579 applied), then the image might not start.
It looks like your Windows version is 10.0.14393 which is mentioned in the quote, but there is no image built for this version with this tag.
As you can see in the compatibility matrix, you can run Windows Server 2016 containers on a Windows Server 2016 host. If there is a supported version for your server, I don’t know which one. Maybe someone else with more Windows container experience can help.
I don’t want to quote more, so please, read the rest of that page too.
Hi Ákos
I have upgraded my windows server from 2016 to 2019 and everything works fine now
OS Name : Microsoft Windows Server 2019 Standard
OS Version : 10.0.17763 N/A Build 17763
Just to clarify on this topic: Windows Server 2016 is still supported as a container host. With that said, It’s higly recommended to upgrade to 2019 or 2022.
Dotnet doesn’t build 2016 images anymore, but you could build a dotnet image (ASP.Net) can be installed on the Server Core IIS image, for example.
The other problem is that 2016 is not supported on many managed orchestration services, so while Microsoft supports Windows Server 2016 as an OS and container host, you’re better off by simply upgrading - as you did.