Где хранить / управлять конфигурацией контейнера в стеке Docker? - PullRequest
0 голосов
/ 09 февраля 2019

Я занимаюсь разработкой веб-приложения на основе React.Это приложение должно работать в качестве контейнера Docker в производстве.Я создал файл .env.development в своем хранилище, в котором я могу настроить конечную точку API, к которой будет подключаться приложение.

REACT_APP_API_BASE_URL=http://localhost:8180/api

Запуск контейнера на моей локальной машине работает нормально таким образом.

Теперь я хотел бы запустить этот контейнер в стеке Docker, поэтому я настроил docker-compose.yml.

  1. Где и как мне хранить / управлять вышеупомянутой конфигурацией, чтобы стек Docker мог выбратьэто вверх?Есть ли что-то вроде «рекомендуемого способа»?
  2. Достаточно ли этого параметра в разделе environment docker-compose.yml?Или мне нужно использовать что-то вроде конфигурации Docker или даже секретов Docker?

1 Ответ

0 голосов
/ 10 февраля 2019

Если мы подписываемся на подход «однажды запустить в любом месте», то вы правы, мы должны стремиться собрать контейнер один раз и запустить его в любой среде, изменив его переменные среды.

Изменение переменных среды не обязательно должно означать передачу значений, таких как ключи API, непосредственно в ваше приложение, хотя вы можете использовать переменные среды для указания на хранилище или etcd обслуживайте и используйте эти инструменты для начальной загрузки приложения и создания файлов конфигурации.

Я бы порекомендовал добавить слой инициализации в ваш контейнер (с помощью ENTRYPOINT), который выполняет настройку вашего приложения до CMDсрабатывает.Это может быть что угодно: от настройки соединения с базой данных, разогрева кеша или установки зависимостей.

Вы, безусловно, можете застрелить себя с плохими точками входа.Обязательно ознакомьтесь с некоторыми популярными изображениями, чтобы увидеть, как они справляются с этими сценариями - postgres - хороший вариант.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...