使用dockerfile将环境变量传递给java类

时间:2017-05-30 03:09:23

标签: java shell docker dockerfile

我正在尝试将环境变量传递给shell脚本,该脚本使用docker运行java类。我收到错误,无法执行。

test.sh

header('Location: https://thecouch.000webhostapp.com/'.$path);

Dockerfile:

#!/bin/bash
java -cp s3fileprocess-1.0.1.jar com.wt.test.S3FileProcess $AWS_ACCESS_KEY_ID  $AWS_SECRET_ACCESS_KEY $bucketName $keyName $uploadFileName $downloadFile

构建图片:

FROM java:8
ADD . /home/test
WORKDIR /home/test
RUN chmod +x ./test.sh
ENTRYPOINT ./test.sh

运行容器:

docker build -t test .

错误:

docker run  -e AWS_ACCESS_KEY_ID=A***** \
-e AWS_SECRET_ACCESS_KEY=w***** \
-e bucketName=I***** \
-e keyName=index.php \
-e uploadFileName=/home/test/index.php \
-e downloadFile=/home/index.php \ 
test

我可以使用docker将环境变量传递给一个简单的shell脚本文件而不会出现任何问题。

这非常有效: test.sh

docker: Error parsing reference: " " is not a valid repository/tag: invalid reference format.
See 'docker run --help'.

Dockerfile:

#!/bin/bash
echo $AWS_SECRET_ACCESS_KEY
echo $AWS_ACCESS_KEY_ID
echo $uploadFileName

构建图片:

FROM amazonlinux
ADD . /home/test  
WORKDIR /home/test  
RUN chmod +x ./test.sh   
ENTRYPOINT ./test.sh

运行容器:

docker build -t test .

有谁能帮我弄清楚我在做错了什么?如何使用dockerfile将环境变量传递给java类?

0 个答案:

没有答案