代码之家  ›  专栏  ›  技术社区  ›  Mathias Lykkegaard Lorenzen

NuGet restore在Docker容器内停止工作

  •  1
  • Mathias Lykkegaard Lorenzen  · 技术社区  · 5 年前

    当我想跑的时候 dotnet restore 作为一个 RUN a的指令 Dockerfile

    /src/Anonymized.Tests/Anonymized.Tests.csproj : error NU3028: Package 'Microsoft.Win32.SystemEvents 5.0.0' from source 'https://api.nuget.org/v3/index.json': The author primary signature's timestamp found a chain building issue: UntrustedRoot: self signed certificate in certificate chain [/src/Anonymized.sln]
    /src/Anonymized.Tests/Anonymized.Tests.csproj : error NU3037: Package 'Microsoft.Win32.SystemEvents 5.0.0' from source 'https://api.nuget.org/v3/index.json': The author primary signature validity period has expired. [/src/Anonymized.sln]
    

    我所有的NuGet包都会这样。

    如果我在容器外运行它,它就可以正常工作。

    我在用图像 mcr.microsoft.com/dotnet/sdk:5.0 . 我运行它的Docker映像是否已经过期了证书?

    编辑:

    0 回复  |  直到 5 年前
        1
  •  4
  •   Jejuni    5 年前

    编辑:

    如github上所述,如果Dockerfile与此类似: FROM mcr.microsoft.com/dotnet/sdk:5.0 把它改成

    • FROM mcr.microsoft.com/dotnet/sdk:5.0-alpine ,或
    • FROM mcr.microsoft.com/dotnet/sdk:5.0-focal

    在运行还原之前将此添加到Dockerfile:

    RUN curl -o /usr/local/share/ca-certificates/verisign.crt -SsL https://crt.sh/?d=1039083 && update-ca-certificates
    

    出于安全原因,您可能需要下载并验证证书并将其保存到您的repo。 这是验证包的时间戳所必需的证书,默认情况下它包含在alpine和focal中,但是debian中没有。

    解决方案3:

    他们在github上跟踪它,Nuget将其状态设置为degraded,直到问题得到解决: https://status.nuget.org/

    据我所知,Docker在这个案子上是对的。 https://www.nuget.org/api/v2/package/System.ComponentModel.Annotations/5.0.0 打开文件并查找.signature.p7s文件,然后用默认程序打开它。 它告诉我,有一个由微软公司的证书,在当地时间今天下午1点到期。

    Certificates

    我不知道为什么这不是docker以外的工具的问题。 https://docs.microsoft.com/en-us/nuget/reference/errors-and-warnings/nu3028 https://docs.microsoft.com/en-us/nuget/reference/errors-and-warnings/nu3037

    不过,我并不想完全禁用这些检查。

        2
  •  2
  •   Martin Ullrich    5 年前

    目前,这个问题似乎与Debian映像有关。

    切换到基于Ubuntu的图像:

    FROM mcr.microsoft.com/dotnet/sdk:5.0-focal 
    

    跟随 https://github.com/NuGet/Home/issues/10491

    推荐文章