在基于Alpine的图像中,如何在CMD中使用ENV变量?

时间:2016-09-20 16:41:52

标签: docker dockerfile

我尝试了几种不同的方法来获取WORKERS语句中的CMD变量,但它们似乎都不起作用。基于Alpine的容器在语法和使用方面似乎也非常挑剔。任何帮助将不胜感激。

Dockerfile

ENV WORKERS=2

EXPOSE 5000

CMD ["/usr/local/bin/gunicorn", "-b 0.0.0.0:5000", "-w ${WORKERS}", "app:app"]

1 个答案:

答案 0 :(得分:2)

显然,Alpine不会从子shell运行应用程序,遵循此模式将允许它正常工作。

ENV WORKERS=2
ENV WORKER_TIMEOUT=60

EXPOSE 5000

CMD ["/bin/sh", "-c", "/usr/local/bin/gunicorn \
     -b 0.0.0.0:5000 -w ${WORKERS} -t ${WORKER_TIMEOUT} app:app"]