Одно из решений ошибки:
Error response from daemon: invalid registry endpoint https://superhost.ru:5000/v0/: unable to ping registry endpoint https://superhost.ru:5000/v0/
v2 ping attempt failed with error: Get https://superhost.ru:5000/v2/: tls: oversized record received with length 20527
v1 ping attempt failed with error: Get https://superhost.ru:5000/v1/_ping: tls: oversized record received with length 20527. If this private registry supports only HTTP or HTTPS with an unknown CA certificate, please add --insecure-registry superhost.ru:5000
to the daemon’s arguments. In the case of HTTPS, if you have access to the registry’s CA certificate, no need for the flag; simply place the CA certificate at /etc/docker/certs.d/superhost.ru:5000/ca.crt
Такая ошибка возникает при обращении к Docker Registry, где не настроено должным образом защищенное соединение. Если Docker Registry расположен в интернете, то необходимо добавить на сервер валидный сертификат, например, Let’s Encrypt.
Если реджестри расположен в локальной сети и доступен только из нее, то можно отключить проверку сертификата на стороне клиента.
При использовании Docker Toolbox на Windows или MacOS, добавляем наш Registry в спосок исключений:
- Подключяемся к виртуальной машине по ssh. Например, вот так: docker-machine ssh default
- редактируем файл profile с root правами: sudo vi /var/lib/boot2docker/profile
- добавляем параметр запуска –insecure-registry с нашим хостом registry:
1234EXTRA_ARGS='--label provider=virtualbox --insecure-registry myregistry:5000' - перезапускаем Docker:
1sudo /etc/init.d/docker restart
ВНИМАНИЕ! Данный метод можно использовать ТОЛЬКО если ваш Docker Registry и Docker Client находятся в локальной сети, и ваша сеть защищена. Иначе, с большой долей вероятности, ваш Docker взломают.
В других случаях:
Для начала, найдите файл с параметрами запуска Docker Daemon Process. Он, скорее всего, расположен по пути /etc/default/docker file или /etc/sysconfig/docker.
Если в нем уже есть параметр DOCKER_OPTS или other_args, то добавляем туда строку –insecure-registry superhost.ru:5000. Должно получиться примерно такое:
1 2 |
other_args="--insecure-registry superhost.ru:5000" DOCKER_OPTS="--insecure-registry superhost.ru:5000" |
Если у вас CentOS 7, то можно попробовать добавить в файл /etc/docker/daemon.json следующую строчку:
1 |
{"insecure-registries":["myregistry.example.com:5000"]} |