使用dockerfile将环境变量传递给java类
我试图将环境变量传递给shell脚本,该脚本使用docker运行java类。我遇到了错误,无法执行它 test.sh使用dockerfile将环境变量传递给java类,java,shell,docker,dockerfile,Java,Shell,Docker,Dockerfile,我试图将环境变量传递给shell脚本,该脚本使用docker运行java类。我遇到了错误,无法执行它 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 A
#!/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
FROM amazonlinux
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 run -e AWS_ACCESS_KEY_ID=A*********** \
-e AWS_SECRET_ACCESS_KEY=w************ \
-e uploadFileName=/home/test/index.php \
test /bin/bash
错误:
docker: Error parsing reference: " " is not a valid repository/tag: invalid reference format.
See 'docker run --help'.
我能够使用docker将环境变量传递到一个简单的shell脚本文件,而不会出现任何问题
这非常有效:
test.sh
Dockerfile:
FROM java:8
ADD . /home/test
WORKDIR /home/test
RUN chmod +x ./test.sh
ENTRYPOINT ./test.sh
FROM amazonlinux
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 run -e AWS_ACCESS_KEY_ID=A*********** \
-e AWS_SECRET_ACCESS_KEY=w************ \
-e uploadFileName=/home/test/index.php \
test /bin/bash
有人能帮我找出我做错了什么吗?如何使用dockerfile将环境变量传递给java类?您的信息看起来非常正常。您没有标记图像吗?请检查图像是否正在运行,然后检查新图像名称是否有效。谢谢您的评论。同样的命令很好用!