在Docker CMD中用户提供的环境variables

我已成功地将我的docker图像推送到swisscom应用程序云(类似于此示例: https ://ict.swisscom.ch/2016/05/docker-and-cloudfoundry/)。

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

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

我也尝试了系统提供的环境variables:

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

我在这里做错了什么?

如果你的Dockerfile是这样构build的,你只需要在运行镜像时传递-e标志。

示例Dockerfile:

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

build立图像:

 docker build -t my_image . 

从图像运行一个容器:

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