当前位置: 首页 > 面试题库 >

未知权限签署的“ docker pull”证书

艾英范
2023-03-14
问题内容

我试图从Docker注册表中提取Docker映像,但遇到以下问题:

$ docker pull <docker registry>/<image name>/<tag> 
Error response from daemon: Get <docker registry>/v1/_ping: x509: certificate signed by unknown authority

我尝试使用“ curl”并得到类似的错误消息:

 curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.

因此,我使用以下命令下载了CA证书并导入到服务器(RedHat Linux 7)中:

cp root_cert.cer /etc/pki/ca-trust/source/anchors/
update-ca-trust

导入根证书后,我可以看到curl它工作正常,因为它不会抱怨证书错误,但是,如果我使用,docker pull我仍然会遇到同样的问题。是docker使用不同于CA证书的位置curldocker pull在这种情况下如何解决该问题?


问题答案:

您可能需要重新启动docker服务以获取它以检测OS证书中的更改。

Docker确实有一个额外的位置,您可以用来信任单个注册表服务器CA。您可以将CA证书放入其中/etc/docker/certs.d/<docker registry>/ca.crt。如果在image标签中指定了端口号,请添加端口号,例如

/etc/docker/certs.d/my-registry.example.com:5000/ca.crt


 类似资料:
  • 我试图从Web请求数据的一些基本示例,但是所有对不同主机的请求都会导致SSL错误:。注意:我不支持代理,也没有发生任何形式的证书拦截,因为使用curl或浏览器没有问题。 我目前使用的代码示例是: 编辑:代码运行在Arch linux内核4.9.37-1-lts上。 编辑2:显然在我的系统上的版本之间有差异,通过(重新)移动证书并重新手动安装包,问题得到了解决。

  • 我很困惑,不知道会有什么错? 非常感谢任何帮助。谢谢大家...

  • 在我的Go应用程序中,我打电话到 这取决于环境,在本地将在http上,而在生产环境中,它将在 当我使用postman在https上测试生产路由时,没有问题,路由工作正常。 但是当我从WS运行它时,我得到: 这是我的代码: 我能做些什么来解决这个问题?

  • 我正在配置一个Kubernetes集群,在CoreOS中有2个节点,如中所述https://coreos.com/kubernetes/docs/latest/getting-started.html没有法兰绒。两台服务器都在同一个网络中。 但在worker中运行kubelet时,我得到了:x509:未知授权机构签署的证书(可能是因为尝试验证候选授权机构证书“kube ca”时出现了“crypto

  • 我在围棋中写的反向程序有点麻烦。我想连接我的Golang Web服务器和我的Apache Web服务器。我的Apache Web服务器应该也在https和反向代理上运行。因此,我编写了以下代码,但我总是得到错误:代理错误:x509:由未知授权机构签署的证书。那么apache必须使用与apache相同的证书,还是有什么问题?这里有一些代码片段,但我认为没有ssl的证书存在问题,一切正常:( 我做了很

  • 在https://kubernetes.io/blog/2019/03/15/kubernetes-setup-using-ansible-and-vagrant/之后,试图在苹果电脑上使用流浪者来设置库伯内特斯。通过安西珀剧本步骤: 我收到错误: 致命:[k8s-master]:失败!= 因此,我尝试手动运行Kubeadm init命令: 我用--ignore preflight errors