Передача параметров в докер
От: Буравчик Россия  
Дата: 13.02.19 10:08
Оценка:
Сложилась практика передавать параметры в докер через переменные окружения (environment variables). Понятно, что приложение в докере изолировано и переменные окружения не влияют на другие приложения. Но мне все равно это кажется костылем.

Более правильно, на мой взгляд, передавать параметры через аргументы командной строки. В некоторых случаях также можно передавать параметры в конфиг-файлах. Но их уже чуть сложнее передавать в докер.

Какие плюсы и минусы разных подходов. Что использовать для передачи параметров приложения в докер?
И отдельный вопрос про передачу секретов в докер, уже устоялась какая-то практика или нет?
Best regards, Буравчик
Re: Передача параметров в докер
От: Doom100500 Израиль  
Дата: 14.02.19 08:28
Оценка:
Здравствуйте, Буравчик, Вы писали:


Б>Какие плюсы и минусы разных подходов. Что использовать для передачи параметров приложения в докер?

Б>И отдельный вопрос про передачу секретов в докер, уже устоялась какая-то практика или нет?

Про плюс переменных окружения:

Их можно проставлять в системах CI/CD, чтобы, например не хранить в исходниках всякие пароли и явки. В CI/CD доступ к этим данным можно раздавать или закрывать.
Спасибо за внимание
Re: Передача параметров в докер
От: scf  
Дата: 14.02.19 08:38
Оценка:
Здравствуйте, Буравчик, Вы писали:

Б>Сложилась практика передавать параметры в докер через переменные окружения (environment variables). Понятно, что приложение в докере изолировано и переменные окружения не влияют на другие приложения. Но мне все равно это кажется костылем.


Б>Более правильно, на мой взгляд, передавать параметры через аргументы командной строки. В некоторых случаях также можно передавать параметры в конфиг-файлах. Но их уже чуть сложнее передавать в докер.


Б>Какие плюсы и минусы разных подходов. Что использовать для передачи параметров приложения в докер?

Б>И отдельный вопрос про передачу секретов в докер, уже устоялась какая-то практика или нет?

Переменные окружения. Основной довод в том, что их не нужно парсить, в отличие от командной строки. Второй довод — это безопасность. Если переменные окружения передаются в докер через файл --env-file=/restricted/directory/app/env, то их невозможно прочитать без прав рута, а параметры командной строки видны в ps ax.
Re[2]: Передача параметров в докер
От: vsb Казахстан  
Дата: 25.02.19 09:25
Оценка:
Здравствуйте, scf, Вы писали:

scf>Здравствуйте, Буравчик, Вы писали:


Б>>Сложилась практика передавать параметры в докер через переменные окружения (environment variables). Понятно, что приложение в докере изолировано и переменные окружения не влияют на другие приложения. Но мне все равно это кажется костылем.


Б>>Более правильно, на мой взгляд, передавать параметры через аргументы командной строки. В некоторых случаях также можно передавать параметры в конфиг-файлах. Но их уже чуть сложнее передавать в докер.


Б>>Какие плюсы и минусы разных подходов. Что использовать для передачи параметров приложения в докер?

Б>>И отдельный вопрос про передачу секретов в докер, уже устоялась какая-то практика или нет?

scf>Переменные окружения. Основной довод в том, что их не нужно парсить, в отличие от командной строки. Второй довод — это безопасность. Если переменные окружения передаются в докер через файл --env-file=/restricted/directory/app/env, то их невозможно прочитать без прав рута, а параметры командной строки видны в ps ax.


Разве в /proc не видно переменные окружения?
Re[3]: Передача параметров в докер
От: · Великобритания  
Дата: 25.02.19 09:53
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Разве в /proc не видно переменные окружения?

Только свои.
$ ps 3941
   PID TTY      STAT   TIME COMMAND
  3941 ?        Sl     0:07 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
$ cat /proc/3941/environ
cat: /proc/3941/environ: Permission denied
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[3]: Передача параметров в докер
От: scf  
Дата: 25.02.19 10:11
Оценка:
Здравствуйте, vsb, Вы писали:

scf>>Переменные окружения. Основной довод в том, что их не нужно парсить, в отличие от командной строки. Второй довод — это безопасность. Если переменные окружения передаются в докер через файл --env-file=/restricted/directory/app/env, то их невозможно прочитать без прав рута, а параметры командной строки видны в ps ax.


vsb>Разве в /proc не видно переменные окружения?


у /proc/xxx/environ права 400. т.е. видно только владельцу процесса и руту.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.