[英]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.