У мене працює контейнер Docker . Я хочу передати змінні середовища в додатки під ним.
Коли я запускаю systemd з Docker ( /sbin/init
як командний рядок), Docker виставляє змінні systemd, але не піддається дочірнім службам . Якщо я додаю systemd.setenv=...
в cmdline, змінні передаються. Я шукаю більш чисте рішення.
Як викрити змінні середовища, передані /sbin/init
програмам, запущеним ним?
% docker run -v /sys/fs/cgroup:/sys/fs/cgroup:ro --privileged -ti \
-e VAR1=1 motiejus/systemd_fedora20 \
init systemd.setenv=VAR2=2
...
Welcome to Fedora 20 (Heisenbug)!
...
[ OK ] Reached target Multi-User System.
[root@740690365eb0 ~]# env | grep VAR
VAR2=2
Я очікую побачити VAR1=1
під час виконання своєї команди.
Іншими словами, чи може систематизована передача змінних, переданих до неї дітям, вона починається?
Для Dockerfile див. Сховище github .