C# 如果以docker映像运行,则找不到证书,而当以IISExpress运行时,将返回证书

C# 如果以docker映像运行,则找不到证书,而当以IISExpress运行时,将返回证书,c#,docker,asp.net-core,C#,Docker,Asp.net Core,我有一个asp.net core 3.1 web应用程序,我正在尝试获取当前用户个人商店中提供的证书 当我使用IISExpress运行应用程序时,我能够获得证书 X509Store storex = null; try { storex = new X509Store(StoreName.My, StoreLocation.CurrentUser); storex.Open(OpenFlags.ReadOnly);

我有一个asp.net core 3.1 web应用程序,我正在尝试获取当前用户个人商店中提供的证书

当我使用IISExpress运行应用程序时,我能够获得证书

 X509Store storex = null;
        try
        {
            storex = new X509Store(StoreName.My, StoreLocation.CurrentUser);
            storex.Open(OpenFlags.ReadOnly);
            var certificates = storex.Certificates.Find(X509FindType.FindByThumbprint,
                "23f642c528f747241bb5bef8cd8ff21116dc5bff", true);

           X509Certificate certificatex = certificates[0];
        }

        catch (Exception e)
        {
            throw e;
        }

        finally
        {
            storex.Close();
        }
对于这个web应用程序,我有这样的
Dockerfile

#参见https://aka.ms/containerfastmode 了解VisualStudio如何使用此Dockerfile构建图像以加快调试。
来自mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim作为基础
WORKDIR/app
暴露80
揭露443
来自mcr.microsoft.com/dotnet/core/sdk:3.1-buster-AS-build
WORKDIR/src
副本[“DockTest/DockTest.csproj”,“DockTest/”]
运行dotnet还原“DockTest/DockTest.csproj”
复制
WORKDIR“/src/DockTest”
运行dotnet构建“DockTest.csproj”-c发行版-o/app/build
从生成为发布
运行dotnet publish“DockTest.csproj”-c Release-o/app/publish
以垒为终场
WORKDIR/app
复制--from=publish/app/publish。

入口点[“dotnet”,“DockTest.dll”]
Docker是一个隔离的环境,因此它无法访问主机资源,包括证书存储。 您可能希望将证书复制到Docker映像,并使用

var x509=new X509Certificate2(File.ReadAllBytes(fileName));

但是请注意,它将对所有有权访问您构建的映像的人可用。

Docker是一个隔离的环境,因此它无法访问主机资源,包括证书存储。 您可能希望将证书复制到Docker映像,并使用

var x509=new X509Certificate2(File.ReadAllBytes(fileName));

但是请注意,它将对所有有权访问您构建的映像的人都可用。

问题是如何将证书复制到docker映像?谢谢,如何在docker映像中添加证书以及从何处
文件名
来?问题是如何将证书复制到docker映像?谢谢,如何在docker映像中添加证书,以及从何处
filename
获取证书?