Устранение неполадок «ошибка извлечения Docker сертификата x509, подписанного неизвестным органом

При работе с Docker вы можете столкнуться с сообщением об ошибке «ошибка извлечения сертификата docker x509, подписанного неизвестным центром сертификации». Эта ошибка обычно указывает на проблему с процессом проверки сертификата SSL. В этой статье мы рассмотрим несколько способов устранения и решения этой проблемы. Мы предоставим примеры кода и пошаговые инструкции для разных платформ.

Метод 1. Обновление конфигурации CLI Docker

  1. Откройте терминал или командную строку.
  2. Выполните следующую команду, чтобы отредактировать файл конфигурации демона Docker:
    sudo nano /etc/docker/daemon.json
  3. Добавьте в файл следующую конфигурацию JSON:
    {
     "insecure-registries": ["registry.example.com:5000"]
    }

    Замените registry.example.com:5000фактическим URL-адресом реестра, вызывающим проблему.

  4. Сохраните файл и выйдите из редактора.
  5. Перезапустите демон Docker с помощью команды:
    sudo systemctl restart docker

Метод 2. Доверьтесь центру сертификации (CA)

  1. Получите файл сертификата CA (.crt) из центра сертификации.
  2. Скопируйте файл сертификата CA в каталог доверенных сертификатов. Например, в Linux вы можете скопировать его в /usr/local/share/ca-certificates/или /etc/ssl/certs/.
  3. Обновите хранилище сертификатов CA с помощью команды, соответствующей вашей операционной системе:
    • В Linux:
      sudo update-ca-certificates
    • В macOS:
      sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain /path/to/ca.crt
    • В Windows:
      certutil -addstore -user root /path/to/ca.crt

Способ 3: отключить проверку SSL-сертификата (не рекомендуется для рабочей среды)

  1. Откройте терминал или командную строку.
  2. Задайте для переменной среды DOCKER_TLS_VERIFYзначение 0:
    • В Linux/macOS:
      export DOCKER_TLS_VERIFY=0
    • В Windows (командная строка):
      set DOCKER_TLS_VERIFY=0
    • В Windows (PowerShell):
      $env:DOCKER_TLS_VERIFY=0
  3. Выполните команду docker pullеще раз.

Метод 4: настройка конфигурации Docker Compose

  1. Откройте файл docker-compose.ymlв текстовом редакторе.
  2. В разделе servicesдобавьте следующую конфигурацию:
    services:
     your_service:
       environment:
         - "DOCKER_TLS_CERTDIR="

    Замените your_serviceна фактическое имя службы, вызывающей проблему.

  3. Сохраните файл и снова запустите команду docker-compose pull.

«Ошибка извлечения Docker сертификата x509, подписанного неизвестным центром сертификации» можно устранить различными методами. Эту проблему можно решить, обновив конфигурацию Docker CLI, доверившись центру сертификации, отключив проверку сертификата SSL (не рекомендуется для рабочей среды) или настроив конфигурацию Docker Compose. Выберите метод, который соответствует вашим требованиям, и следуйте предоставленным примерам кода и инструкциям.