Продолжайте получать Не удается прочитать сертификат 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. Это кажется долгосрочным решением.

  • vim ~/.bash_profile

  • Комментировать что-то вроде DOCKER _ *

  • source ~/.bash_profile

  • перезапустите терминал, у вас не должно быть проблем при запуске: docker info или docker ps

Надеюсь, что это поможет.

Ответ 4

Если файл присутствует в переменной DOCKER_CERT_PATH env, ошибка также может быть вызвана из-за проблемы с правами доступа к файлам. Также проверьте этот прецедент.

Ответ 6

Если он все еще не работает, запустите:

find . -name ca.pem

Чтобы узнать, где он находится, а затем измените DOCKER_CERT_PATH=<the path you find out> и на Mac, он должен быть .bash_profile. Если вы вводите это в yo .oh-my-zsh, это не сработает.