Настройка панели инструментов докера за прокси в Windows - PullRequest
0 голосов
/ 29 октября 2018

Согласно моей корпоративной политике, мы используем Windows 7 с привилегированным доступом (подмножество прав администратора) на машине.

Я установил панель инструментов Docker, однако, когда пришло время извлекать образы из центра Docker компаний Artifactory, у меня возникали проблемы из-за HTTPS и прокси.

Ответы [ 3 ]

0 голосов
/ 21 января 2019

Недавно я столкнулся с той же проблемой и смог решить проблему с помощью следующих шагов. Как указано в официальной документации докера

  1. Сначала остановите и удалите докер-машину по умолчанию, если она уже создана

        docker-machine stop default
        docker-machine rm default
    

    где 'default' - это имя докер-машины по умолчанию.

    1. После удаления создайте докер-машину с настройкой прокси:

      docker-machine create -d virtualbox --engine-env HTTP_PROXY = http://example.com:8080 --engine-env HTTPS_PROXY = https://example.com:8080 --engine-env NO_PROXY = example2.com по умолчанию

Ссылка: https://docs.docker.com/v17.12/machine/reference/create/#specifying-docker-swarm-options-for-the-created-machine

Это решение отлично работает для меня.

0 голосов
/ 29 апреля 2019

Я решил эту проблему, добавив обратную косую черту ("/") в конец URL-адреса прокси в настройках прокси в файле config.json.

0 голосов
/ 29 октября 2018

Я наконец понял, как правильно настроить панель инструментов Docker на Windows 7 за корпоративным прокси-сервером с сертификатами HTTPS.

Ниже приведены шаги

  1. Установить Docker Toolbox
  2. После установки перейдите в C: / Users //. Docker / machine / machine / default и откройте config.json. Если у вас нет этой папки, откройте «Терминал быстрого запуска Docker» со своего рабочего стола, чтобы создать виртуальную коробочную докер-машину для себя.
  3. Добавьте следующие строки под
{
    "HostOptions": {
        ...
        "EngineOptions": {
            ...
            "Env": [
                "HTTP_PROXY=http://<username>:<pwd>@<host>:<port>",
                "HTTPS_PROXY=http://<username>:<pwd>@<host>:<port>",
                "NO_PROXY=<docker-machine ip>"
            ],
        }
    }
 }

Обратите внимание на http в HTTPS_PROXY. 4. После выполнения вышеуказанного шага необходимо установить сертификаты компании. 5. Получите набор корпоративных корневых сертификатов, которые должны быть установлены в вашем корпоративно настроенном браузере. В Chrome вы можете перейти в «Настройки», нажать «Показать дополнительные настройки» и прокрутить вниз до HTTPS / SSL, где вы можете выбрать «Управление сертификатами». Моя организация поместила их в доверенные корневые центры сертификации и назвала их в честь организации. Экспортируйте каждый (у меня есть два), по одному, убедившись, что вы выбрали формат DER.

  1. Как только вы сохранили их в известном месте, вы захотите преобразовать их в формат PEM. Самым простым способом, который я нашел для этого, было запустить команду openssl.exe [1] из терминала быстрого запуска Docker.

openssl x509 -inform der -in Certificate.cer -out Certificate.pem

  1. Как только у вас есть файлы .pem, вы захотите скопировать их в папку, к которой у вашего компьютера Docker есть доступ. Я создал каталог в c: \ Users \ my.username \ certs и скопировал их туда.

  2. Этот шаг может не быть строго необходимым, но это то, что я сделал, и он работает. Вы захотите скопировать эти сертификаты в раздел boot2docker, который является постоянным. Я подключаюсь к моей машине по умолчанию, и это то, что вам нужно сделать для шага 5.

MINGW64: $ docker-machine ssh default

docker @ default: ~ $ sudo -s root @ default: / home / docker # mkdir / var / lib / boot2docker / certs root @ default: / home / docker # cp /c/Users/my.username/certs/*.pem / Вар / Библиотека / boot2docker / сертификаты /

Теперь пришло время написать скрипт bootlocal.sh, который будет копировать сертификаты в нужное место при каждом запуске системы. [2] Если вы этого еще не сделали, откройте SSH-соединение с машиной, выполнив Шаг 4.

touch /var/lib/boot2docker/bootlocal.sh && chmod + x /var/lib/boot2docker/bootlocal.sh vi /var/lib/boot2docker/bootlocal.sh Вставьте следующее и сохраните файл:

! / Бен / ш

mkdir -p /etc/docker/certs.d && cp certs / certificate.pem /etc/docker/certs.d

Перезагрузите компьютер либо с помощью команды перезагрузки изнутри компьютера, либо с помощью команды docker-machine с терминала Docker:

перезапуск докер-машины по умолчанию

Теперь вы должны быть в состоянии запустить «Привет-мир» и других. Надеюсь, это поможет.

Ссылка: Docker в Windows (Boot2Docker) - сертификат подписан неизвестной ошибкой органа

...