运维开发网

如何在docker中向supervisord传递参数?

运维开发网 https://www.qedev.com 2020-07-07 18:20 出处:网络 作者:运维开发网整理
我在docker中运行两个 python服务.这两个服务都需要一个共同的参数,我在“docker run”期间提供了这个参数 目前,我通过调用shell脚本中的服务来实现此目的.但是,我认为正确的解决方案是在docker中使用supervisor并通过它运行两个服务. 我希望实现这样的目标: [program:A] command=python -m A.py <argument> [progr
我在docker中运行两个 python服务.这两个服务都需要一个共同的参数,我在“docker run”期间提供了这个参数

目前,我通过调用shell脚本中的服务来实现此目的.但是,我认为正确的解决方案是在docker中使用supervisor并通过它运行两个服务.

我希望实现这样的目标:

[program:A]
command=python -m A.py <argument>

[program:B]
command=python -m B.py <argument>

dockerfile如下所示:

COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
CMD ["/usr/bin/supervisord"]

我如何将论证传递给主管?

您可以使用环境变量:从 supervisor doc开始

Environment variables that are present in the environment at the time that supervisord is started can be used in the configuration file using the Python string expression syntax %(ENV_X)s:

[program:example]
command=/usr/bin/example --loglevel=%(ENV_LOGLEVEL)s

In the example above, the expression %(ENV_LOGLEVEL)s would be expanded to the value of the environment variable LOGLEVEL.

在您的情况下,可以在传递给容器的环境变量中设置您的公共参数,其中docker run -d -e“COMMON_ARG = myarg”.

0

精彩评论

暂无评论...
验证码 换一张
取 消