Harbor/Docker: x509: certificate signed by unknown authority

完成Harbor安装之后,我们使用docker login/push/pull去与Harbor打交道,上传下载镜像等。 但是发现出现x509: certificate signed by unknown authority之类的错误。

[root@test01 harbor.dev]# docker login harbor.dev
Authenticating with existing credentials...
Login did not succeed, error: Error response from daemon: Get https://harbor.dev/v2/: x509: certificate signed by unknown authority
Username (admin): admin
Password: 
Error response from daemon: Get https://harbor.dev/v2/: x509: certificate signed by unknown authority

从字面意思很容易理解,表示证书是被不知名的ca签名的,因为是自建的证书,肯定是有问题。 如果我们用google浏览器打开harbor, 同样会显示证书错误的提示,输入神奇字符: thisisunsafe 才可以登入。

解决这问题很简单,参阅docker官方文档:

https://docs.docker.com/engine/security/certificates/

从官方文档提示,客户端要使用tls与Harbor通信,使用的还是自签证书,那么必须建立一个目录:/etc/docker/certs.d

在这个目录下建立签名的域名的目录,比如域名为harbor.dev, 那么整个目录为: /etc/docker/certs.d/harbor.dev, 然后把harbor的证书拷贝到这个目录即可。

[root@test01 harbor.dev]# pwd
/etc/docker/certs.d/harbor.dev

[root@test01 harbor.dev]# cp /tmp/harbor.crt .

[root@test01 harbor.dev]# docker login harbor.dev

Authenticating with existing credentials...
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

官方提示把所有的crt,包括根证书ca.crt拷贝到这个目录,实际上只需要拷贝Harbor的证书即可,根证书都不需要。

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tom_fans

谢谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值