簡體   English   中英

如何在docker中向supervisord傳遞參數?

[英]How to pass an argument to supervisord in docker?

我在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

啟動supervisord時環境中存在的環境變量可以使用Python字符串表達式語法%(ENV_X)s在配置文件中使用:

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

在上面的示例中,表達式%(ENV_LOGLEVEL)s將擴展為環境變量LOGLEVEL的值。

在您的情況下,可以在傳遞給容器的環境變量中設置您的公共參數,其中docker run -d -e "COMMON_ARG=myarg"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM