使用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类?