Указание сертификата SSL/TLS для контейнеров Docker и файла Docker в Windows

#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.