是否需要 windows 服务器来构建服务器映像?

Is windows server required to build server images?

非常简单的 .Net5.0 Dockerfiles,在 Windows 10 20H2 上构建和运行良好。但是,当我将图像推送到 Azure 容器时,出现 New-AzContainerGroup: Unsupported windows image version 错误。这听起来像是我推 Windows 10 而不是服务器。我需要在服务器 OS 上构建此映像吗?

FROM mcr.microsoft.com/dotnet/sdk:5.0

WORKDIR /source

COPY *.csproj .
RUN ["dotnet", "restore"]

COPY . .
RUN ["dotnet", "build"]

EXPOSE 3000/tcp

ENTRYPOINT ["dotnet", "run"]

找到答案,只需要使用在我需要的 OS 上构建的正确标记构建。在下面的dockerfile中,就是标签5.0-windowsservercore-ltsc2019。那是用服务器核心 ltsc2019 构建的。现在在容器服务工作。

https://hub.docker.com/_/microsoft-dotnet-sdk

FROM mcr.microsoft.com/dotnet/sdk:5.0-windowsservercore-ltsc2019

WORKDIR /source

COPY *.csproj .
RUN ["dotnet", "restore"]

COPY . .
RUN ["dotnet", "build"]

EXPOSE 3000/tcp

ENTRYPOINT ["dotnet", "run"]