我正在尝试使用适用于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/,但无法解决问题。
能否让我知道如何生成这两个证书的组合? 预先感谢!
答案 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