当我尝试提取docker镜像时,我遇到了一个错误。我们已经设置了代理,在我们的组织中,我们有显式的代理,所以要访问外部服务器,我们不能不设置它。
[root@DX2821 city]# docker pull hellow-world
使用默认标记:最新
来自守护程序的错误响应:
获取https://registry-1.docker.io/v2/:x509:由未知机构签署的证书
当我尝试提取docker镜像时,我遇到了一个错误。我们已经设置了代理,在我们的组织中,我们有显式的代理,所以要访问外部服务器,我们不能不设置它。
[root@DX2821 city]# docker pull hellow-world
使用默认标记:最新
来自守护程序的错误响应:
获取https://registry-1.docker.io/v2/:x509:由未知机构签署的证书
2条答案
按热度按时间pqwbnv8z1#
我在公司也遇到了同样的问题。
我们也有代理人。为了监控我们的https连接以避免恶意软件,我们的代理为站点和代理之间的安全连接动态创建证书。然后在代理和网站之间进行另一个安全连接。该消息指示代理生成的证书由未知的颁发机构签名:生成证书的“假授权”。
为了解决这个问题,我不得不在
/usr/share/ca-certificates
(用于Linux工作站)中安装这个“假权威”的根证书,然后:nukf8bse2#
为了扩展le flingue的答案,以下是如何在Ubuntu中一步一步地做到这一点:
您可以运行以下命令:
它显示了所有的证书。复制以下列行开头和结尾的所有部件(包括开始和END CERTIFICATE行):
在/usr/local/share/ca-certificates/中创建尽可能多的文件,并将开始证书和结束证书部分粘贴到其中。作为一个例子,我有三个这样的部分,所以我创建了以下文件:
如何命名证书并不重要。唯一重要的是内容。在你复制了文件中的所有这些部分后,你可以运行以下命令:
它应该为您提供以下信息:
请注意,这还没有将证书更新到Docker中。你必须启动和停止Docker守护进程。快跑
最后,Docker应该能够找到证书。所以现在你可以跑了