Pass environment variable from docker to supervisor

I pass two env variables with docker launch:

docker run -d --name foobar -e STAGE=testing -e STAGE_URL=http://...

and remote supervisor files that run several processes:

CMD ["/usr/bin/supervisord", "--configuration", "/etc/supervisor/conf.d/supervisord.conf"]

In supervisord.confI am trying to read variables:

[program:build]
priority=1
autorestart=false
directory=/app/foobar
command=grunt build --force --stage ${STAGE} --stage-url ${STAGE_URL}

I tried also with

$STAGE

and

%(STAGE)s

But STAGE is never considered as a variable. It is never replaced by actual content. Instead, it is treated as a simple string. It leads to:

--stage STAGE --stage-url STAGE_URL

instead

--stage testing --stage-url http://...

Is it possible what I'm doing? Supervisor documents are not well understood in this thread. Any ideas?

+4
source share
1 answer

Give it a try %(ENV_STAGE)s.

docs seem to indicate how to go.

+5
source

All Articles