Докер: не удалось прочитать сертификат CA
Я установил Docker на Windows 10 Pro, и я не могу заставить его работать.
Когда я пытаюсь запустить привет-мир, я получаю
could not read CA certificate
Он ищет сертификаты в машине/машинах/по умолчанию. Однако эта папка не существует.
Я создал машину под названием "default" (которая создала вышеупомянутую папку), но это не помогло.
До этого я создал еще одну машину под названием "dev", которая, похоже, имеет сертификаты, но это, похоже, не помогает.
Также есть файлы сертификатов в машинах/машинах - я не знаю, должен ли я как-то указать Docker на поиск в этой папке (вместо машины/машины/по умолчанию)?
Я новичок в Docker, поэтому мне может что-то не хватает. Тем не менее, я был весь этот день, прочитал документацию Docker, попробовал множество решений и подобных ответов, но ничего не работает.
Ответы
Ответ 1
Я была такая же проблема. Проблема заключалась в том, что я обновил Docker Toolbox до Docker для Windows. При удалении Docker Toolbox пользовательские переменные env не удаляются. Следующее помогло мне:
- Удалите Docker Toolbox.
- Удалите VirtualBox (вы не можете использовать VirtualBox, так как это необходимо для Docker Toolbox и Hyper-V [используется Docker для Windows] одновременно.)
- Удалите переменные env Docker Toolbox:
- Перейдите в Панель управления\Все элементы панели управления\Система.
- Нажмите Расширенные настройки системы
- Перейдите на вкладку "Дополнительно" и нажмите "Переменные среды".
- Удалите все записи
DOCKER_*
из системных/пользовательских переменных. -
DOCKER_TLS_VERIFY
-
DOCKER_CERT_PATH
-
DOCKER_HOST
-
DOCKER_TOOLBOX_INSTALL_PATH
-
Удалите DOCKER_ * из командной строки или PowerShell. Запустите эти команды в PowerShell:
[Environment]::SetEnvironmentVariable("DOCKER_CERT_PATH", $null, "User")
[Environment]::SetEnvironmentVariable("DOCKER_HOST", $null, "User")
[Environment]::SetEnvironmentVariable("DOCKER_MACHINE_NAME", $null, "User")
[Environment]::SetEnvironmentVariable("DOCKER_TLS_VERIFY", $null, "User")
[Environment]::SetEnvironmentVariable("DOCKER_TOOLBOX_INSTALL_PATH", $null, "User")
-
Перезапустите PowerShell. (При необходимости перезагрузите систему.)
Источники:
Ответ 2
Иногда это не так сложно. Я только что решил эту проблему, выполнив это:
Перейдите на ЭТОТ ПК: → в строке поиска введите ca.pem → и теперь перейдите в это место и скопируйте его → теперь перейдите в "Дополнительные параметры системы" → "Переменные среды" → "Редактировать" - DOCKER_CERT_PATH → и вставьте это местоположение и делая это, он будет работать
Ответ 3
Удаление переменных среды и запуск команд, упомянутых выше, помогли мне:
[Environment]::SetEnvironmentVariable("DOCKER_CERT_PATH", $null, "User")
[Environment]::SetEnvironmentVariable("DOCKER_HOST", $null, "User")
[Environment]::SetEnvironmentVariable("DOCKER_MACHINE_NAME", $null, "User")
[Environment]::SetEnvironmentVariable("DOCKER_TLS_VERIFY", $null, "User")
[Environment]::SetEnvironmentVariable("DOCKER_TOOLBOX_INSTALL_PATH", $null, "User")
Ответ 4
Эй, у меня есть похожие проблемы, я начал с такого рода ошибки
' http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.37/containers/create: open//./pipe/docker_engine'
После этого у меня тоже были проблемы с сертификатами. Что я сделал, так это изменил расположение моих файлов сертификатов в другое место и указал на него переменной окружения DOCKER_CERT_PATH. Затем я прошел через все различные проблемы, которые в конце концов решили мою проблему только частично. Наконец, я удалил набор инструментов докера и VM Virtualbox и снова установил его с другим, более старым драйвером NDIS5, который вы можете выбрать в мастере во время установки. Это решило все мои проблемы с Docker на win10