使用dockerfile将环境variables传递给java类

我正在尝试将环境variables传递给使用docker运行java类的shell脚本。 我收到错误,不能执行它。

test.sh

#!/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 

Dockerfile:

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

build立形象:

 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: Error parsing reference: " " is not a valid repository/tag: invalid reference format. See 'docker run --help'. 

我能够使用docker将环境variables传递给一个简单的shell脚本文件,没有任何问题。

这完美的作品:test.sh

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

Dockerfile:

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

构build图像:

 docker build -t test . 

运行容器:

 docker run -e AWS_ACCESS_KEY_ID=A*********** \ -e AWS_SECRET_ACCESS_KEY=w************ \ -e uploadFileName=/home/test/index.php \ test /bin/bash 

任何人都可以帮我弄清楚我在这里做错了吗? 如何使用dockerfile将环境variables传递给java类?