Продолжайте получать Не удается прочитать сертификат CA при попытке запустить докер
Я пытаюсь перейти с boot2docker на докер-машину.
Я выполнил указания здесь для установки докеров, но я продолжаю получать следующее сообщение:
Could not read CA certificate "/Users/<useraccountfolder>/.boot2docker/certs/boot2docker-vm/ca.pem": open /Users/<useraccountfolder>/.boot2docker/certs/boot2docker-vm/ca.pem: no such file or directory
когда я запускаю большинство команд докеров.
Ответы
Ответ 1
Я нашел свое решение здесь
Мне нужно было обновить мой .bash_profile, чтобы выглядеть так:
export DOCKER_HOST=tcp://192.168.99.100:2376
export DOCKER_MACHINE_NAME=default
export DOCKER_TLS_VERIFY=1
export DOCKER_CERT_PATH=~/.docker/machine/machines/default
а затем выполните следующее, чтобы создать отсутствующий файл ca.pem:
docker-machine regenerate-certs default
Я разместил это на случай, если это поможет кому-то еще. Спасибо/реквизиты идут к каждому в этой теме на github, которая была найдена после часа боли.
Ответ 2
Пожалуйста, следуйте этому руководству:
Доккер для Mac vs Docker Toolbox
Работала для меня, вам нужно отключить переменные вместо их создания для mac.
# grep for DOCKER ENV vars
env | grep DOCKER
unset <DOCKER_VARS>
Ответ 3
Обычно большинство людей устанавливают boot2docker и старую версию виртуального бокса. Как сказано в руководстве по установке, перед установкой Docker для Mac нам необходимо удалить boot2docker и переустановить виртуальный бокс на высокую версию.
https://docs.docker.com/engine/installation/mac/#/docker-for-mac
Несмотря на то, что мы установили Docker для Mac, мы по-прежнему сталкивались с ошибкой "Не удалось прочитать сертификат CA".
Мое решение - удалить связанные с докером переменные среды (DOCKER *) от .bash_profile
. Это кажется долгосрочным решением.
Надеюсь, что это поможет.
Ответ 4
Если файл присутствует в переменной DOCKER_CERT_PATH
env, ошибка также может быть вызвана из-за проблемы с правами доступа к файлам. Также проверьте этот прецедент.
Ответ 5
Мое решение в macOS для очистки ссылки на отсутствующие сертификаты, которые не были в ~/.bash_profile
или ~/.bashrc
, было:
unset ${!DOCKER*}
Источник: https://forums.docker.com/t/initial-install-of-docker-for-mac-could-not-read-ca-certificate/9170/7
Ответ 6
Если он все еще не работает, запустите:
find . -name ca.pem
Чтобы узнать, где он находится, а затем измените DOCKER_CERT_PATH=<the path you find out>
и на Mac, он должен быть .bash_profile
. Если вы вводите это в yo .oh-my-zsh
, это не сработает.