x509:由未知权威签署的证书 – 与docker工人和github

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 

正如crypto/x509/root_unix.go所提到的,Go(这是Docker使用的)将检查CA证书

 "/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+ 

确保这些文件是可用的,没有损坏。

CDN也可能存在零星的问题,如下所述 :

因为现在它工作:+1:。 它必须是一个亚马逊边缘isssue

最后一个线程还包括以下检查:

报告问题的用户要么没有这些文件,要么那些文件不包含rapidssl证书。
我们可以要求他们发送这些文件,并检查证书是否包含在内。
用户也可以试试这个:

 openssl s_client -showcerts -verify 32 -connect index.docker.io:443 

如果失败,证书丢失。

关于GitHub,请注意它目前正在遭受大规模的DDoS攻击,除了证书问题之外,还有其他的副作用。

在Ubuntu 16.04中,也应该与其他版本一起工作

在/ usr / local / share / ca-certificates下创build/复制.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