首页 > 解决方案 > 错误 CTC1014 Docker 命令失败,退出代码为 1,带有 dotnet core api

问题描述

我正在尝试使用 VS2019 和 docker 构建最基本的 Web Api 应用程序。基本上它只是 VS 提供的演示应用程序。我最终出现以下错误:

严重性代码描述项目文件行抑制状态错误 CTC1014 Docker 命令失败,退出代码为 1。 hcsshim::PrepareLayer - 在 Win32 中失败:Incorrec

下面我的dockerfile

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-nanoserver-1903 AS base
WORKDIR /app
EXPOSE 8080
EXPOSE 443

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

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

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

那么这是自动生成的dockerfile。但这对我来说看起来还不错(我也是 docker 新手)。

究竟是什么导致了错误。

标签: c#visual-studioasp.net-coredockerfile

解决方案


我过去遇到了同样的错误(CTC1014)。我发现我的项目正在“发布”模式下运行,而它本应在“调试”模式下运行。所以我想建议将此作为一种解决方法

这是您在 VS2019 中更改它的方法

当然,在 Release 模式下运行您的应用程序应该不成问题。所以我认为它一定与大多数发布构建配置采用的一些优化有关,与 Docker 冲突。不过,不确定是哪一个。

干杯! o/


推荐阅读