一尘不染

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

docker

我试图从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在这种情况下如何解决该问题?


阅读 380

收藏
2020-06-17

共1个答案

一尘不染

您可能需要重新启动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
2020-06-17