Неизвестно не удалось запросить версию docker: Не удалось прочитать конфигурацию TLS: tls: не удалось найти какие-либо данные PEM при вводе сертификата

#docker #docker-machine

#docker #docker-machine

Вопрос:

Я столкнулся со странной проблемой, я попытался опубликовать это на github, поэтому я мог бы также задать ее и здесь..

 ➜  ~ docker-machine version
docker-machine version 0.8.2, build e18a919

➜  ~ docker-machine ls
NAME            ACTIVE   DRIVER       STATE     URL                          SWARM   DOCKER    ERRORS
atago           -        google       Running   tcp://xxx.xxx.xxx.xxx:2376           Unknown   Unable to query docker version: Unable to read TLS config: tls: failed to find any PEM data in certificate input
azure01         -        azure        Running   tcp://xxx.xx.xxx.xxx:2376            Unknown   Unable to query docker version: Unable to read TLS config: tls: failed to find any PEM data in certificate input
dev             -        virtualbox   Stopped                                        Unknown
dev01           -        google                                                      Unknown
jeanepaul-dev   -        google       Running   tcp://xxx.xxx.xxx.xx:2376            Unknown   Unable to query docker version: Unable to read TLS config: tls: failed to find any PEM data in certificate input
  

Я попытался восстановить сертификаты, но,

 ➜  ~ docker-machine regenerate-certs -f azure01
Regenerating TLS certificates
Waiting for SSH to be available...
Detecting the provisioner...
Installing Docker...
Copying certs to the local machine directory...
error generating server cert: tls: failed to parse private key    
  

Комментарии:

1. Я имел дело с этим в прошлом. Это было что-то о слегка открывающейся версии. Если компьютер docker локальный. Выполните ssh на компьютере docker и отключите tls в конфигурации.

2. спасибо, к сожалению, это удаленно.. для gcp и azure

Ответ №1:

У меня была такая же ошибка, когда я пытался настроить HTTPS для Grafana. Поскольку это похоже на проблему, связанную с сертификатом, и на этот вопрос долгое время не было ответа, вот как я решил ту же проблему в случае с Grafana.

1 Перенесите хранилище ключей из проприетарного формата в формат pkcs12.

 keytool -importkeystore -srckeystore ./keystore -destkeystore ./keystore.pfx -deststoretype pkcs12 -storepass <storePass>
  

2 Извлеките хранилище ключей.pem — оно включает сертификаты и ключи

 openssl pkcs12 -in keystore.pfx -out keyStore.pem -nodes
  

3 извлекайте ключи только в формате pem

 openssl pkcs12 -in keystore.pfx -out keyStore-keys.pem -nodes -nocerts
  

Для grafana я использовал только файлы, созданные на шаге 2 и 3

 vi /path/to/grafana-5.2.1/conf/custom.ini
[server]
..
cert_file = "/path/to/grafana-5.2.1/conf/keyStore.pem"
cert_key = "/path/to/grafana-5.2.1/conf/keyStore-keys.pem"