Azure DevOps构建.NET7 Docker镜像时发布阶段遇CONTAINER1012错误
问题解决:Azure DevOps构建.NET7 Docker镜像时CONTAINER1012错误
错误原因
你的项目引用了Microsoft.NET.Build.Containers NuGet包,这个包会在dotnet publish阶段自动尝试构建Docker镜像并推送到本地Docker守护进程。但在Docker镜像构建过程中(容器内部环境),并没有运行Docker守护进程,因此触发了CONTAINER1012错误。而你实际是通过Azure DevOps的Docker@2任务来构建镜像,完全不需要这个包的自动构建功能。
解决方案
方案1:移除Microsoft.NET.Build.Containers包
直接从项目文件(TestAPI.csproj)中删除对应的引用节点:
<!-- 删除这一行 --> <PackageReference Include="Microsoft.NET.Build.Containers" Version="0.4.0" />
方案2:在发布命令中禁用容器构建
如果不想移除该包,修改Dockerfile中的dotnet publish命令,添加MSBuild参数禁用容器构建:
FROM build AS publish WORKDIR /source/src/TestAPI # 添加/p:ContainerBuild=false参数 RUN dotnet publish "TestAPI.csproj" -c Release -o /app/publish /p:ContainerBuild=false
内容的提问来源于stack exchange,提问作者prakashrajansakthivel
相关产品推荐
相关产品推荐

