use*_*157 5 docker dockerfile asp.net-core
我有一个 asp.net 核心 docker 镜像。我最后一次尝试构建它是在 2 个月前。现在,我遇到了错误构建。
有任何想法吗?Microsoft docker 映像出现问题?当尝试在 Elasticbeanstalk 实例上发布和运行时,这也是破坏性的。
完整的错误日志
/usr/share/dotnet/sdk/3.1.201/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error NETSDK1064: Package DnsClient, version 1.2.0 is not found。它可能在 NuGet 还原后已被删除。否则,NuGet 还原可能仅部分完成,这可能是由于最大路径长度限制。[/app/BacktraderDataApi.csproj] 命令“/bin/sh -c dotnet publish -c Release -o out”返回非零代码:1
文件
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /app
COPY *.csproj ./
RUN dotnet restore
COPY . ./
RUN dotnet publish -c Release -o out
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
WORKDIR /app
COPY --from=build-env /app/out .
EXPOSE 5000
ENTRYPOINT ["dotnet", "myApp.dll"]
Run Code Online (Sandbox Code Playgroud)
当使用之--no-cache类的解决方案根本没有恢复工作时,通常表明来自主机的工件正在被复制到构建容器中。当主机和构建容器具有不同的 RID 时,这可能会导致问题。当运行 linux 容器时,这通常会发生在 Windows 机器上。.NET Core Docker 示例建议使用.dockerignore 文件来避免使用Dockerfile处理 bin 和 obj 目录。
我有一个非常相似的问题
error MSB4018: NuGet.Packaging.Core.PackagingException: Unable to find fallback package folder '/usr/local/share/dotnet/sdk/NuGetFallbackFolder'.
Run Code Online (Sandbox Code Playgroud)
我补充道RUN mkdir -p /usr/local/share/dotnet/sdk/NuGetFallbackFolder。
然后它取得了很大进展,但由于我认为只是随 SDK 一起分发的某些内容的库解析而失败。
/usr/share/dotnet/sdk/3.1.201/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error NETSDK1064: Package Microsoft.EntityFrameworkCore.Analyzers, version 3.1.1 was not found. It might have been deleted since NuGet restore. Otherwise, NuGet restore might have only partially completed, which might have been due to maximum path length restrictions.
Run Code Online (Sandbox Code Playgroud)
我认为mcr.microsoft.com/dotnet/core/sdk:3.14/09/2010 带有标签 3.1.201-buster、3.1-buster、3.1.201、3.1、latest 的 Docker 镜像已损坏。
我改成基于 Ubuntu Bionic 的镜像,它又工作了。
USE mcr.microsoft.com/dotnet/core/sdk:3.1-bionic
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4104 次 |
| 最近记录: |