之前在私有云平台登录 Docker 时,遇到了无法登录的问题,并且出现了以下错误信息:”Error response from daemon: certificate signed by unknown authority”。

这个错误的原因是当 Docker 尝试从私有仓库登录或拉取镜像时,无法验证仓库的 SSL 证书。可能是因为证书是自签名的,或者是由一个 Docker 不信任的证书颁发机构签署的。

解决方案:

方法一

添加证书到信任列表:如果这是个私有仓库,并且知道这个证书是有效的,我们可以将证书添加到 Docker 主机的信任列表中。具体步骤如下:

  1. 将CA证书复制到 /usr/local/share/ca-certificates/
  2. 运行 update-ca-certificates
  3. 重启 Docker 服务

方法二

使用http而不是https:如果不关心安全问题,可以配置 Docker 使用 http 而不是 https 访问仓库。这可以修改 Docker 的daemon.json 文件,例如:

1
2
3
{
"insecure-registries" : ["myregistry.example.com:5000"]
}

然后重启Docker服务即可

方法三

获取一个正规的证书颁发机构签署的证书:如果这个私有仓库是你自己建的,你可以考虑获取一个正规机构颁发的证书(如 Let’s Encrypt、阿里云等等)签署的证书。