繁体   English   中英

使用 Docker 的 Dotnet 构建崩溃

[英]Dotnet build crashes with Docker

当我从 VS2017 运行默认生成 Dockerfile 时,几分钟后我收到以下错误:

The command 'cmd /S /C dotnet build "XXX.csproj" -c Release -o /app' returned a non-zero code: 4294967295: failed to shutdown container: container e9402aaef7780a5c66dca0e3b9f5683c3c2cc079ff7934844301067bd1ce07ad encountered an error during Shutdown: failure in a Windows system调用:与托管容器的虚拟机的连接已关闭。 (0xc037010a)

由于我是 Docker 的新手,所以我不知道。 有谁知道,为什么或如何解决它?

我正在使用 Docker 19.03.4。

Dockerfile:

FROM microsoft/dotnet:2.2-aspnetcore-runtime-nanoserver-1803 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM microsoft/dotnet:2.2-sdk-nanoserver-1803 AS build
WORKDIR /src
COPY ["XXX.csproj", "XXX/"]
.
.
.
COPY ["XXX.csproj", "XXX/"]
RUN dotnet restore "XXX.csproj"
COPY . .
WORKDIR "/src/XXX"
RUN dotnet build "XXX.csproj" -c Release -o /app

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

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

更新:我删除了所有图像 (48),现在可以使用,只是需要很长时间。

看起来 dotnet 构建失败了,最好在外部构建和发布二进制文件,然后将它们复制到 docker 映像,这样可以减少 docker 构建时间。

检查.net核心容器镜像的版本

插入一点运行命令,如下所示

FROM microsoft/dotnet:2.2-sdk-nanoserver-1803 AS build
WORKDIR /src
RUN dotnet --version
COPY ["XXX.csproj", "XXX/"]

还要检查本地机器的 dotnet 版本

dotnet --version

这两个版本应该匹配。 过去我遇到过预览版的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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