Контейнеры VSCode Dev: как внедрить дополнительные этапы сборки Docker (установка сертификатов) только для локальной разPython

Программы на Python
Ответить
Anonymous
 Контейнеры VSCode Dev: как внедрить дополнительные этапы сборки Docker (установка сертификатов) только для локальной раз

Сообщение Anonymous »

Я разрабатываю проект Python с использованием VSCode Dev Containers. До сих пор для сборки контейнера, над которым я разрабатываю, я использовал Dockerfile, расположенный в корне проекта, который тот же самый использовал для производства, так что моя среда разработки полностью соответствовала развернутой среде. Этот файл Dockerfile выполняет все шаги установки pip.
Дополнительные инструменты только для разработки (расширения VSCode, блокноты и т. д.) обрабатывались через devcontainer.json.
Недавно, после установки Cato на мой Mac (для подключения к внутреннему концентратору PyPI), этап установки pip внутри контейнера перестал работать. Наша ИТ-команда сказала мне, что мне нужно добавить сертификат (

Код: Выделить всё

cato-ca.crt
) в контейнер, используя следующие команды:

Код: Выделить всё

RUN mkdir /usr/local/share/ca-certificates/cato-ca
COPY .devcontainer/cato-ca.crt /usr/local/share/ca-certificates/cato-ca/cato-ca.crt
RUN chmod 644 /usr/local/share/ca-certificates/cato-ca/cato-ca.crt && update-ca-certificates
Эти шаги нельзя добавить в производственную сборку, поскольку среда CI/CD не имеет (и не должна иметь) этого сертификата. Из-за этого мне пришлось создать второй файл Dockerfile, используемый только для контейнера разработки.
Вопрос:
Есть ли способ сохранить один файл Dockerfile и условно включить эти команды установки сертификата только при создании контейнера разработки (и перед запуском pip install)?

Подробнее здесь: https://stackoverflow.com/questions/798 ... ing-certif
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»