场景描述

当我准备拉取一个新的镜像时报错:
error pulling image configuration: download failed after attempts=6: x509: certificate signed by unknown authority
如下图所示:
在这里插入图片描述

解决办法

第一种 通过命令更新证书

#对于基于Red Hat的系统:
sudo update-ca-trust extract
#对于基于Debian的系统:
sudo update-ca-certificates

证书通常位置(可能不同版本的操作系统位置不一样):
在这里插入图片描述

查看证书是否更新成功:

openssl x509 -in /etc/ssl/certs/ca-bundle.crt -noout -dates

在这里插入图片描述
我这里是更新失败的,虽然文件日期是新的,但是证书里的信息仍旧是过时了的。 所以我用第二种方法更新证书。
如果你用命令就更新成功了,那么再重启 docker 服务即可。

第二种 手动下载新证书

下载站点
复制最新的证书的下载链接
在这里插入图片描述
下载证书

wget https://curl.se/ca/cacert-2025-02-25.pem --no-check-certificate

将新证书放到旧证书的位置,并且名字修改为 ca-bundle.crt

cp ca-bundle.crt /etc/ssl/certs/ca-bundle.crt

重启 docker 服务

systemctl restart docker

再用 docker pull 拉取镜像成功
在这里插入图片描述

结语

这里更新的证书是包含了常用网站的CA证书,里面有跟对应网站进行安全通信的公钥和网站基本信息。具体什么是 CA 证书可以参考 数字签名和CA数字证书的核心原理和作用

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐