Как игнорировать ошибки сертификата в Boot2Docker в windows
у меня есть boot2docker 1.4.1, работающий в windows через virtualbox. Я за прокси, который MITMs https сертификаты. Я настроил прокси, добавив следующие строки в /var/lib/boot2docker/profile
:
export HTTP_PROXY=<proxyhost>:80
export HTTPS_PROXY=<proxyhost>:80
DOCKER_TLS=no
EXTRA_ARGS="--insecure-registry index.docker.io"
однако, когда я запускаю docker@boot2docker:~$ docker run hello-world
Я
Unable to find image 'hello-world:latest' locally
Pulling repository hello-world
FATA[0006] Get https://index.docker.io/v1/repositories/library/hello-world/images
: x509: certificate signed by unknown authority
пожалуйста, помогите мне выяснить, правильный способ, чтобы игнорировать ошибки сертификата. Спасибо!
2 ответов
редактировать похоже, что новый докер работает только на некоторые вкусы Windows 10. Если вы все еще застряли в Windows 7, я обновил ниже, чтобы отразить шаги, которые мне пришлось пройти, чтобы исправить ошибку "самозаверяющий сертификат в цепочке сертификатов", когда я установил последнюю версию docker-toolbox (настройки 1.11.2).
наконец-то это работает на Windows 7 после ответов здесь: https://github.com/boot2docker/boot2docker/issues/347
проверьте, что это ваша проблема, запустив openssl s_client-showcerts:
docker@boot2docker:~$ openssl s_client -showcerts -CApath . -connect index.docker.io:443
(Edit: удалено 32 из-showcerts и исправлено имя хоста)
в цепочке сертификатов вы увидите, что прокси вставил себя, и verify возвращает ошибку что-то вроде этого
Verify return code: 19 (self signed certificate in certificate chain)
если у вас такая же проблема, то дайте шаги ниже попробовать :
- во-первых, сохраните сертификат вам нужен. Вот шаги для использования в Firefox, похожие наhttps://stackoverflow.com/a/6966818/1981358 (Chrome и IE также должны работать с помощью мастера экспорта сертификатов; Примечание: В Windows кодировка сертификата PEM называется Base-64 encoded X. 509 (.ССВ)):
- в Firefox перейдите в https://hub.docker.com/
- нажмите на значок замка в адресной строке, чтобы отобразить сертификат
- нажмите "дополнительная информация" - > "безопасность" - > "просмотр сертификата" - > "подробности"
- Выберите каждый узел в иерархии, начиная с самого верхнего, и нажмите " Экспорт "и" сохранить " (выберите Формат сертификата X. 509 (PEM))
- сохраните вышеуказанные файлы где-нибудь на локальном диске, измените расширение на.pem и переместить их в папку пользователя (или любое другое место, доступное из ssh)
- создать папка для хранения сертификата(сертификатов):
docker@boot2docker:~$ sudo mkdir /var/lib/boot2docker/certs/
- скопируйте файлы сертификатов в это место:
docker@boot2docker:~$ sudo cp /c/Users/<username>/<folder>/<proxy-cert>.pem /var/lib/boot2docker/certs/
- создать файл
/var/lib/boot2docker/bootlocal.sh
и включить источник из https://gist.github.com/irgeek/afb2e05775fff532f960 (я только что создал файл в Windows с помощью Notepad++ и скопировал его в правильное место, подобное приведенному выше шагу) - выход из ssh и перезагрузка:
C:\>docker-machine restart
- открыть консоль
docker-machine ssh
и проверьте, что изменения работали:docker run hello-world
вы должны увидеть результат, который содержит что-то вроде:
Hello from Docker.
This message shows that your installation appears to be working correctly.
Если у вас Docker для Windows on Windows 10, и вы получаете ошибку" x509: сертификат, подписанный неизвестным органом", вы можете попробовать следующее:
- запустите Docker для Windows.
- через некоторое время, вы увидите настройки значок в области уведомлений Windows (внизу справа)
- щелкните правой кнопкой мыши значок и выберите "Настройки..."
- окно "настройки". Выберите "Докер Демон " слева.
- добавьте свой частный реестр в коллекцию "небезопасные реестры" в текстовом поле, которое показывает конфигурацию в формате JSON. Затем нажмите кнопку "Применить".