如何使基于docker run args的docker内部有条件的Monit“check process”?

我想使Monit的“检查过程”有条件地基于envvariables工作。

这里是我想达到的伪代码(不是一个有效的监视configuration语法):

[ -n "$run_foo" ] && check process foo .... 

我的用例:我有一个docker镜像,像这样开始监视进程:

 CMD ["/bin/monit", "-c","/config/monit.conf"] 

Monit然后启动各种守护进程。

现在,我希望能够在运行时告诉哪些守护进程我想从这个映像创build的特定容器中启动,如下所示:

 docker run --env="run_foo=1;run_bar=1" ... 

我知道monit unmonitor和类似的args,但是我相信它们不符合我的目的。

想到这样的事情:

 start program="/bin/bash -c '[ -n \"$run_foo\" ] && /bin/foo .." 

但是,似乎会导致监控不断尝试启动和监控不应该开始的事情。

我意识到使用不同的监视器configuration文件或使用不同的泊坞窗图像的可能性 – 这些不符合答案。

其他想法赞赏。