Использование среды докеров -e переменная в супервизоре

Я пытаюсь передать переменную среды в контейнер Docker через опцию -e . Эта переменная предназначена для использования в сценарии супервизора внутри контейнера. К сожалению, переменная не решена (т.е. они остаются, например, $INSTANCENAME ). Я пробовал ${var} и "${var}" , но это тоже не помогло. Есть ли что-нибудь, что я могу сделать, или это просто невозможно?

Команда запуска докера:

 sudo docker run -d -e "INSTANCENAME=instance-1" -e "FOO=2" -v /var/app/tmp:/var/app/tmp -t myrepos/app:tag 

и файл супервизора:

 [program:app] command=python test.py --param1=$FOO stderr_logfile=/var/app/log/$INSTANCENAME.log directory=/var/app autostart=true 

    One Solution collect form web for “Использование среды докеров -e переменная в супервизоре”

    Переменная передается в ваш контейнер, но супервизор не позволяет использовать такие переменные среды, как это, внутри файлов конфигурации.

    Вы должны просмотреть документацию супервизора и, в частности, части о строковых выражениях. Например, для опции command :

    Обратите внимание, что значение command может включать в себя строковые выражения Python, например /path/to/programname --port=80%(process_num)02d может расширяться до /path/to/programname --port=8000 во время выполнения.

    Строковые выражения оцениваются по словарю, содержащему ключи group_name , host_node_name , process_num , program_name , здесь (каталог конфигурационного файла супервизора) и все переменные среды супервизора с префиксом ENV_ .

    Python - лучший язык программирования в мире.