登录私有docker登录时丢失客户端证书错误

时间:2018-11-12 13:17:23

标签: macos docker ssl-certificate client-certificates docker-registry

我正在尝试使用适用于Mac的Docker社区版本18.06登录到私有Docker注册表,但是在从cli登录docker时出现此错误

  

守护程序的错误响应:缺少客户端证书domain.cert   密钥域。

首先,我使用以下命令在〜/ .docker / certs.d / myprivaterepo:port中安装了CA证书:

  

$ openssl genrsa -out client.key 4096
  $ openssl req -new -x509 -text -key client.key -out client.cert

这给了我错误-

  

守护程序的错误响应:获取   https://myprivaterepo:port/v2/:服务不可用

然后我使用上面的命令生成了'.crt'格式的证书,它开始给我这个错误:

  

守护程序的错误响应:缺少客户端证书client.cert   关键客户端。

我假设它需要密钥,并且同时存在.crt和.cert证书。实际上,我尝试使用另一个密钥创建另一个.cert证书,但这给了我以下错误:

  

守护程序的错误响应:tls:私钥与公钥不匹配

我参考了docker文档-https://docs.docker.com/engine/security/https/,但无法解决问题。

能否让我知道如何生成这两个证书的组合? 预先感谢!

1 个答案:

答案 0 :(得分:0)

对我来说,重命名crt文件并将其放在/ usr / local / share / ca-certificates /中是有效的:

# copy and rename the file
cp client.crt /usr/local/share/ca-certificates/myprivaterepo:port.crt

# update certificates
sudo ca-update-certificates

# restart docker daemon
sudo service docker restart