Windows Docker安装根证书
我有一个在docker中运行的dotnetcore web.api应用程序。 我使用的是windows版本,而不是linux版本。我使用的映像是microsoft/dotnet:2.1-aspnetcore-runtime-nanoserver-1709 这个应用程序调用一个外部api(https),我收到一个错误,说SSL验证失败。通过谷歌搜索,我发现我的企业的根证书也必须在容器中可用 我首先使用Powershell使用Import-Certificate命令进行了尝试。但这失败了。图像中似乎不存在Powershell。然后我找到了这个。但是Certoc也没有出现在图片上,我找不到一个地方下载这个Windows Docker安装根证书,windows,docker,.net-core,certificate,Windows,Docker,.net Core,Certificate,我有一个在docker中运行的dotnetcore web.api应用程序。 我使用的是windows版本,而不是linux版本。我使用的映像是microsoft/dotnet:2.1-aspnetcore-runtime-nanoserver-1709 这个应用程序调用一个外部api(https),我收到一个错误,说SSL验证失败。通过谷歌搜索,我发现我的企业的根证书也必须在容器中可用 我首先使用Powershell使用Import-Certificate命令进行了尝试。但这失败了。图像中似乎
是否有方法使用microsoft/dotnet映像安装证书?还是必须使用microsoft/windowsservercore映像 我可能误解了需要,但是如果您有证书文件,您可以
将其复制到docker容器中
将(something).cert文件添加到项目中
在Dockerfile
中添加行
COPY./(某物).cert(路径/收件人/证书/位置/内/容器)
启动docker容器
如果我能澄清答案中的任何内容,请告诉我,我很乐意更新。不需要安装证书吗?我不知道你可以把它复制到某个地方。我以为那些东西已经在登记处登记了。我要把它复制到哪里?我需要容器中的企业根证书,这样我从容器中调用其他api(https,不在docker中运行)可以验证需要在windows中进行的ssl连接。正如您所提到的,该过程更加关注UI注册表。Hoever容器是基于linux的,这意味着在预期位置有一个文件。这里是另一个S.O.的帖子,关于同样的事情,你可以看到解决方案也适用于他们。在linux中,只有将.crt
文件放在正确的位置(和权限)才行是的,但我使用的是windows容器,而不是linux容器。我找到的每个示例都是如何在linux容器而不是windows容器中执行的。-1因为在windows容器中,您无法获得正常工作的/path/to/cert/location
。您必须以某种方式将证书添加到受信任的根证书颁发机构。