#docker #dockerfile
Вопрос:
Я очень новичок в сертификатах SSL/TLS, поэтому, пожалуйста, потерпите меня.
У меня были проблемы с TLS с различными менеджерами пакетов на моем рабочем ноутбуке. Я выяснил, что у ноутбука есть корпоративный сертификат. Я успешно экспортировал сертификат в .crt
файл и решил проблему с npm
помощью and yarn
( npm config -g set cafile C:Usersyouruser.certificatesyourcertname.crt
). Однако у меня все еще возникают проблемы с Докером, особенно с моими Dockerfile
сборками. Я видел в других сообщениях, как скопировать сертификат в контейнер, но сборка выполняется как на ноутбуке, так и на сервере Ubuntu, где сертификат не существует и не нужен. Я знаю , что могу это сделать npm set config strict-ssl false
, но мне также нужно установить bash
, и я не могу сделать это, не вызвав apk
ошибок SSL. Есть ли способ указать сертификат в другом месте?
Комментарии:
1. Сертификаты для серверов, к которым обращается apk/npm, по умолчанию должны быть доверенными сертификатами. Похоже, что ваша компания настроила какой-то прокси-сервер проверки SSL MITM. Это единственная причина, по которой я могу думать, что это произойдет.
2. Допустим, в этом и проблема, могу ли я что-нибудь с этим поделать, не избавляясь от прокси?
3. Трудно сказать наверняка, не зная точно, какой прокси используется. Но вы должны иметь возможность использовать свой собственный прокси-сервер на локальном хосте, который перемещается через прокси MITM от имени ваших контейнеров. Настройте демона/контейнеры docker для использования прокси-сервера HTTP(S) на вашем локальном хосте. Вы можете поместить все необходимые сертификаты/аутентификацию в свой прокси-сервер localhost, чтобы вам не приходилось делать это в процессе сборки контейнеров/докеров. Или настройте параметры корпоративного прокси-сервера соответствующим образом. Вы можете настроить параметры прокси-сервера в конфигурации демона docker.