我正在尝试将环境变量传递给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类?