Каковы преимущества конфигурации docker перед установкой переменных среды для контейнеров? - PullRequest
0 голосов
/ 04 июля 2019

Кажется, что и конфигурация Docker, и установка переменных среды для контейнеров достигают тех же целей. Особенно, если учесть, что переменные окружения, которые нужно установить, могут быть получены из файла (env_file).

В чем преимущества конфигурации docker перед установкой переменных среды для контейнеров?

1 Ответ

1 голос
/ 04 июля 2019

Их много, , но это в основном вопрос выбора .Вот некоторые преимущества:

  • Конфигурация Docker неизменна, где переменные среды не являются (хотя это может быть как преимуществом, так и недостатком)
  • Конфигурация Docker легко управляется с помощью docker config команды, в которых переменные среды не
  • Переменные среды могут конфликтовать в вашем контейнере: вы можете использовать переменную среды MONGODB_HOST=mongodb://foo:bar@my-mongo:27017, указывающую на базу данных Mongo, но библиотека, которую вы используете в своем приложении, также будет использовать эту переменную но ожидает простое имя хоста, такое как my-mongo, и выдает исключение во время выполнения
  • Файл конфигурации может иметь ограниченное разрешение на чтение (т. е. только соответствующий пользователь может читать его), где переменная среды может просочиться вподпроцесс или любой, кто обращается к вашему контейнеру
  • Файл конфигурации может быть разделен на несколько частей для удобства чтения или управления в вашем контейнере, переменные среды не могут
  • При проверке, какова ваша эффективная конфигурация контейнера (т.е. выполняетсяоболочка в твоем контейнереи оглядываясь вокруг), использовать конфигурационный файл гораздо проще, чем показывать кучу потенциально не связанных переменных окружения (cat myconfig VS.env)
  • Таким образом, файл конфигурации более разделен и управляем, чем переменные среды

Вы можете взглянуть на этот пост , который не является Dockerконкретный, но может дать некоторые идеи.

...