尝试login到受信任(?)dockerregistry时出现x509错误
我已经build立了一个使用港口dockerregistry。
我在/usr/share/local/ca-certificates
复制了相应的证书,并成功运行sudo update-ca-certificates
。 (表示新增证书的数量)。
当试图login到特定的registry时:
ubuntu@master1:/home/vagrant$ docker login my.registry.url Username: pkaramol Password: Error response from daemon: Get https://my.registry.url/v2/: x509: certificate signed by unknown authority
但是下面的testing成功了:
openssl s_client -connect my.registry.url:443 -CApath /etc/ssl/certs/
…回来了很多详细的输出,证书本身,结束于:
Verify return code: 0 (ok)
curl
也会成功上面的https
链接(当网站不可信时它会失败)。
有什么build议么?
如果你阅读文档
使用自签名证书
警告:与基本身份validation一起使用时,还需要将证书信任到某些版本的Docker的OS cert存储中(请参阅下文),这比不安全的registry解决scheme更安全。
生成您自己的证书:
$ mkdir -p certs $ openssl req \ -newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key \ -x509 -days 365 -out certs/domain.crt
请务必将名称myregistrydomain.com用作CN。
使用结果以启用TLS启动您的registry。
指示每个Docker守护程序信任该证书。 做到这一点的方式取决于你的操作系统。
Linux:将每个Docker主机上的domain.crt
文件复制到/etc/docker/certs.d/myregistrydomain.com:5000/ca.crt
。 您不需要重新启动Docker。
请参阅下面的链接了解更多详情
https://docs.docker.com/registry/insecure/#use-self-signed-certificates