用户提供的docker CMD中的环境变量

时间:2017-12-18 22:39:23

标签: docker cloudfoundry swisscomdev

我已成功将docker镜像推送到swisscom app云(类似于此示例:https://ict.swisscom.ch/2016/05/docker-and-cloudfoundry/)。

现在我想在docker CMD中使用用户提供的环境变量。像这样:

ADD target/app.jar app.jar
CMD java -jar app.jar -S $USER_PROVIDED_ENV_VARIABLE

我也尝试过系统提供的环境变量:

ADD target/app.jar app.jar
CMD java -jar app.jar -S $VCAP_APPLICATION

我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

如果您的Dockerfile是这样构建的,那么在运行映像时,您只需要传递-e标志。

示例Dockerfile:

FROM ubuntu:16.10
ENV MY_VAR "default value" # Optional - set a default value.
CMD echo $MY_VAR

构建图片:

docker build -t my_image .

从图片中运行容器:

docker run -e MY_VAR="my value here" my_image