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

User-provided environment variable within docker CMD

我已成功将我的 docker 图片推送到 swisscom 应用云(类似于此示例: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

我做错了什么?

如果您的 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