如何访问由容器内的监视器进程运行的环境variables
我正在使用monit来启动(和监视)容器内的多个进程。 不幸的是,monit以非常docker run --env ...
环境运行这些进程,所以任何来自docker run --env ...
都不会被docker run --env ...
启动的进程看到。 在其他环境中,我只需确保在进程中input/etc/environment
或~/.bash_profile
,以便进行环境设置。
但docker run --env
没有任何相当的AFAIK。 除了必须有一个包装周围监视创build监控configuration文件或创build/etc/environment
有没有办法来访问这些来自docker的环境variables?
只是想在这里超出。 就在你运行monit之前,你可以收集它有权访问的环境variables。 例如:
env | sed 's/^/export /' > /tmp/monit.save.sh
那么,稍后,在monitconfiguration中“启动”时,可以将该文件以bash shell的forms发送,就像您谈论采购/ etc / environment一样。 所以,就在你启动监控程序之前,请input/tmp/monit.save.sh,然后运行你的程序。 这将使monit'start'ed程序访问传递给docker容器的环境variables。
不过,我可能刚刚描述了你试图避免的包装,如果是这样的话,对不起。