docker build -t oreng/iojs .
INFO[0000] Get https://index.docker.io/v1/repositories/library/iojs/images: x509: certificate signed by unknown authority.
我的Dockerfile是
FROM iojs:latest
RUN useradd -ms /bin/bash developer
WORKDIR /home/developer
USER developer
另外hub create
(使用https://github.com/github/hub)
Post https://api.github.com/user/repos: x509: certificate signed by unknown authority
答案 0 :(得分:12)
如crypto/x509/root_unix.go
中所述,Go(这是Docker使用的)将检查
"/etc/ssl/certs/ca-certificates.crt", // Debian/Ubuntu/Gentoo etc.
"/etc/pki/tls/certs/ca-bundle.crt", // Fedora/RHEL
"/etc/ssl/ca-bundle.pem", // OpenSUSE
"/etc/ssl/cert.pem", // OpenBSD
"/usr/local/share/certs/ca-root-nss.crt", // FreeBSD/DragonFly
"/etc/pki/tls/cacert.pem", // OpenELEC
"/etc/certs/ca-certificates.crt", // Solaris 11.2+
确保这些文件可用且未损坏。
还可以sporadic issue with the CDN,this comment:
因为它现在有效:+1 :.它必须是亚马逊的优势
最后一个帖子还包括以下检查:
报告问题的用户要么没有这些文件,要么这些文件不包含
rapidssl
证书。
我们可以要求他们将这些文件发送给我们,并检查是否包含证书 用户也可以尝试:
openssl s_client -showcerts -verify 32 -connect index.docker.io:443
如果失败,则证书丢失。
关于GitHub,请注意目前正在进行大规模的DDoS攻击,这可能会在证书问题旁边产生其他副作用。
答案 1 :(得分:10)
在Ubuntu 16.04中,也应该与其他版本一起使用
在/ usr / local / share / ca-certificates下创建/复制.crt;
sudo cp installaiton/certificates/docker-registry.crt
/usr/local/share/ca-certificates
然后运行
sudo update-ca-certificates
这将在“/etc/ssl/certs/ca-certificates.crt”下添加证书 然后重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker
答案 2 :(得分:0)
好吧,我遇到了类似的问题。这是它,我在哪里:
我的场景: 在 Oracle VB 上构建了一个 Ubuntu VM,并开始构建我的 K8s 集群。 docker 无法拉取 calico 图像。抛出以下错误:
<块引用>无法拉取镜像“docker.io/calico/cni:v3.18.2”:rpc 错误 [...] 信息[0009]获取https://registry-1.docker.io/v2:x509:证书 由未知权威签署。
然后我尝试对默认注册表执行简单的“docker login”,这导致我遇到了同样的错误。
这些是从一整天的阅读和学习中学到的结果:
TBH,以上课程都没有让我找到尤里卡!
所以,这就是我所做的:
我从实际的注册中心下载了证书,并将其添加到 /etc/docker/certs/[registry_domain_name]
并将相同的内容附加到服务器上的 SSL CA 证书。你猜怎么着,我确实给了我结果。下面是详细步骤:
步骤 1:openssl s_client -showcerts -connect ${DOMAIN}:${PORT}/dev/null|openssl x509 -outform PEM >ca.crt>
我跑的:openssl s_client -showcerts -connect registry-1.docker.io:443 </dev/null 2>/dev/null|openssl x509 -outform PEM >ca.crt
第 2 步:sudo cp ca.crt /etc/docker/certs.d/${DOMAIN}/ca.crt
我跑的:sudo cp ca.crt /etc/docker/certs.d/registry-1.docker.io/ca.crt
第 3 步:cat ca.crt | sudo tee -a /etc/ssl/certs/ca-certificates.crt
第 4 步:sudo service docker restart
感谢博客: https://rancher.com/docs/rancher/v1.6/en/environments/registries/