2016-09-16 5 views
0

Я новичок в докере и пытаюсь подтолкнуть некоторые изображения к docker registry, которые я сделал с помощью самоподписанных сертификатов.Ошибка реестра приватной докеры

докер толчок

<IP-Address>:5000/hello-world 

Но это дает следующее сообщение об ошибке:

Толчок относится к хранилищу

[<IP-Address>:5000/hello-world] 
Get https://<IP-Address>:5000/v1/_ping: x509: 

не может проверить сертификат

<IP-Address> because it doesn't contain any IP SANs 

Если я использую D omain вместо IP-адреса, докер нажимной

<domain-name.com>:5000/hello-world 

он показывает сообщение об ошибке:

Толчок относится к хранилищу

[<domain-name.com>:5000/hello-world] 
Get https://<domain-name.com>:5000/v1/_ping: x509: 

сертификат, подписанный неизвестным органом

Am I что-то не хватает? Как решить эту ошибку?

ответ

0

Посмотреть ответ here шаг за шагом руководство для настройки частного реестра. Надеюсь, это поможет.

+0

Он решил мою проблему и работал нормально, но теперь я снова получаю ту же проблему «Сертификат подписан неизвестным органом». Я не могу нажать или вытащить вы можете что-то предложить. – saurg

+0

Проверьте файл сертификата, доступный на сервере реестра, и '/etc/docker/certs.d/<< DockerRegistryServerHostname >>: << Папка DockerRegistryPort >>/ca.crt' на клиентской машине Эта ошибка возникает только тогда, когда сертификат неправильно скопирован. возникают, если пользователь не имеет прав на доступ к файлу ca.crt. –

+0

Также убедитесь, что вы запустили реестр докеров с помощью команды 'docker run -d -p 5000: 5000 --restart = always --name registry \ -v' pwd'/certs:/certs \ -e REGISTRY_HTTP_TLS_CERTIFICATE =/certs /domain.crt \ -e REGISTRY_HTTP_TLS_KEY =/certs/domain.key \ реестр: 2'. Убедитесь, что указан путь к параметру 'REGISTRY_HTTP_TLS_CERTIFICATE' и' REGISTRY_HTTP_TLS_KEY' –

0

Вы должны добавить свой сертификат в список доверенных сертификатов.

Это, как вы можете это сделать в Linux: https://unix.stackexchange.com/questions/90450/adding-a-self-signed-certificate-to-the-trusted-list

Для других операционных систем, просто искать.

Чтобы добавить IP-адрес в свой сертификат, ознакомьтесь с этим руководством https://jamielinux.com/docs/openssl-certificate-authority/ это замечательно!

Вам нужно будет добавить несколько альтернативных имен в свой сертификат.

[alt_names] 
DNS.1 = alternative.domain-name.com 
IP.1 = 192.168.0.108 
+0

Я добавил «alt_names». Я следую https://deis.com/blog/2016/secure-docker-with-tls/. Вы можете видеть, что я пропущу что-нибудь. – saurg

+0

Вы должны добавить свой cert.pem в хранилище доверия операционной системы или явно указать его при запуске демона докеров, как в учебнике. '--tlsverify --tlscacert =/etc/docker/ssl/ca.pem --tlscert =/etc/docker/ssl/cert.pem --tlskey =/etc/docker/ssl/key.pem" ' – VolkerK

+0

@ VolkerK У меня есть файлы 'sample.keystore',' sample.csr' и 'sample.cer'. Как защитить реестр docker с помощью этих данных? Как получить файлы sample.crt и sample.key из этих ? – saurg