У меня есть программный комплекс (веб-сервер узла, база данных, другие инструменты), который я разрабатываю внутри корпоративного брандмауэра, встраиваю в образы докеров и внедряю с помощью docker-compose.Чтобы фактически установить все программное обеспечение в образы, мне нужно настроить среду для использования сетевого прокси-сервера, а также отключить строгую проверку SSL (поскольку брандмауэр включает проверку ssl) не только с точки зрения переменных среды, но идля npm
, apt
и т. д.
У меня все это работает, так что я могу строить в брандмауэре и развертывать в брандмауэре, и настроил мои файлы Docker и сценарии сборки так, чтобыВключение всех параметров конфигурации proxy / ssl зависит от докера --build-arg
, который устанавливает переменную среды с помощью ENV enable_proxies=$my_build_arg
, поэтому я также могу легко пропустить всю эту конфигурацию для сборки и развертывания вне брандмауэра.
Тем не менее, мне нужно иметь возможность создавать все внутри брандмауэра и развертывать за его пределами.Это означает, что все прокси-компоненты должны быть включены во время сборки (чтобы можно было установить все программные пакеты), если указан соответствующий --build-arg
, а затем также отдельно включены или отключены во время выполнения, используя --env enable_proxies=true
или что-то подобное.
Я все еще относительно новичок в некоторых аспектах Docker, но, насколько я понимаю, единственное, что выполняется при запуске образа, - это содержимое записи CMD
в Dockerfile и что CMD
может выполнить только одну команду.
Кто-нибудь знает, как я могу / должен идти о разделении параметров прокси / ssl во время сборки и выполнения, как это?