【发布时间】:2020-01-14 15:47:27
【问题描述】:
创建了一个简单的 .net 核心应用。尝试运行 docker build 但我得到了:
"清单中没有与 windows/amd64 10.0.14393 匹配的清单 列出条目”
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"]
现在得到:
基于 Windows 版本 10.0.17763 的映像与 10.0.14393 主机
安装在服务器上的 Docker:
名称版本 ---- ------- Docker 19.03.2
为什么我不能在 Windows Server 2016 上运行这些?它在本地 Windows 10 上运行良好
【问题讨论】:
-
尝试 nanoserver 1709 或 docker pull mcr.microsoft.com/windows/servercore:ltsc2016
-
mcr.microsoft.com/dotnet/core/sdk:2.2-nanoserver-1803 怎么样?我在第 4 步遇到了同样的错误。
-
dotnet restore 是否可以处理这些图像?
标签: c# .net docker windows-server-2016