Как игнорировать ошибки сертификата в 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)

если у вас такая же проблема, то дайте шаги ниже попробовать :

  1. во-первых, сохраните сертификат вам нужен. Вот шаги для использования в 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)
  2. создать папка для хранения сертификата(сертификатов):docker@boot2docker:~$ sudo mkdir /var/lib/boot2docker/certs/
  3. скопируйте файлы сертификатов в это место:docker@boot2docker:~$ sudo cp /c/Users/<username>/<folder>/<proxy-cert>.pem /var/lib/boot2docker/certs/
  4. создать файл /var/lib/boot2docker/bootlocal.sh и включить источник из https://gist.github.com/irgeek/afb2e05775fff532f960 (я только что создал файл в Windows с помощью Notepad++ и скопировал его в правильное место, подобное приведенному выше шагу)
  5. выход из ssh и перезагрузка:C:\>docker-machine restart
  6. открыть консоль 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: сертификат, подписанный неизвестным органом", вы можете попробовать следующее:

  1. запустите Docker для Windows.
  2. через некоторое время, вы увидите настройки значок в области уведомлений Windows (внизу справа)enter image description here
  3. щелкните правой кнопкой мыши значок и выберите "Настройки..."
  4. окно "настройки". Выберите "Докер Демон " слева.
  5. добавьте свой частный реестр в коллекцию "небезопасные реестры" в текстовом поле, которое показывает конфигурацию в формате JSON. Затем нажмите кнопку "Применить". enter image description here