gpt4 book ai didi

c# - Windows/amd64 Server 2016没有匹配的 list

转载 作者:行者123 更新时间:2023-12-02 21:06:11 25 4
gpt4 key购买 nike

创建了一个简单的.net核心应用程序。尝试运行docker build,但我得到:

"no matching manifest for windows/amd64 10.0.14393 in the manifest list entries"



Docker文件:
FROM microsoft/dotnet:sdk AS build-env
WORKDIR /app

# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore

# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out

# Build runtime image
FROM microsoft/dotnet:aspnetcore-runtime
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "HelloWorld.dll"]

参加2:
尝试过vs2019,创建了新的MVC应用=>添加Docker支持(Windows)Dockerfile:
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-nanoserver-1809 AS base
WORKDIR /app
EXPOSE 80

FROM mcr.microsoft.com/dotnet/core/sdk:2.2-nanoserver-1809 AS build
WORKDIR /src
COPY ["coremvc.csproj", ""]
RUN dotnet restore "./coremvc.csproj"
COPY . .
WORKDIR "/src/."
RUN dotnet build "coremvc.csproj" -c Release -o /app

FROM build AS publish
RUN dotnet publish "coremvc.csproj" -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "coremvc.dll"]

现在得到:

a Windows version 10.0.17763-based image is incompatible with a 10.0.14393 host



enter image description here

服务器上安装的Docker:

Name Version ---- ------- Docker 19.03.2



为什么我不能在Windows Server 2016上运行它们?在本地Windows 10上运行正常

最佳答案

对于Windows镜像,在确定应使用哪个镜像标签时,Docker主机的Windows版本至关重要。

对于第一个错误:no matching manifest for windows/amd64 10.0.14393 in the manifest list entries,当使用没有与您的Docker主机的OS版本/体系结构匹配的具体标签的多体系结构标签时,会发生此错误。我不确定是哪个标签导致了错误,但我猜它是microsoft/dotnet:aspnetcore-runtime。这是一个多体系结构标签,Docker将查看您的主机信息,以将该标签解析为特定于OS版本/体系结构的具体标签。在这种情况下,主机版本10.0.14393没有可用的标签。

对于第二个错误:a Windows version 10.0.17763-based image is incompatible with a 10.0.14393 host,在这种情况下,您使用的是Windows版本特定的标记,因此此处无需解析。您在明确说明所需的Windows版本。问题是您要使用的Windows版本高于Docker主机使用的Windows版本。那是不可能的。您只能使用相同或更低的版本(并且只能基于某些条件使用较低的版本:https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/version-compatibility)。

Windows Server 2016没有可用的任何受支持的.NET Core镜像。有关当前标签列表,请参见此处:https://hub.docker.com/_/microsoft-dotnet-core-sdk。如果您能够使用Windows Server 1803版或更高版本,那就应该不错。

关于c# - Windows/amd64 Server 2016没有匹配的 list ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57912243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com