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
我已成功将我的 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