X509: сертификат, подписанный неизвестным органом - как с докером, так и с 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 

Ответ 1

Как упомянуто в 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:. Это должен быть вопрос края Амазонки

Последний поток также включает следующую проверку:

Пользователь, сообщающий о проблеме, либо не имеет этих файлов, либо эти файлы не содержат сертификат rapidssl.
Мы могли бы попросить их прислать нам эти файлы и проверить, включен ли сертификат.
Пользователь также может попробовать это:

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

Если это не удается, сертификаты отсутствуют.

Что касается GitHub, имейте в виду, что в данный момент он подвергается массированной DDoS-атаке, которая может иметь другие побочные эффекты помимо проблемы с сертификатом.

Ответ 2

В Ubuntu 16.04, также следует работать с другими версиями

Создать/скопировать .crt в /usr/local/share/ca -certificate;

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