我可以使用
Dockerfile
-e
选项传递环境变量。
但是我不确定如何在使用docker run命令时将命令行参数传递给入口点中的jar文件。Dockerfile
FROM openjdk
ADD . /dir
WORKDIR /dir
COPY ./test-1.0.1.jar /dir/test-1.0.1.jar
ENTRYPOINT java -jar /dir/test-1.0.1.jar
test.sh
#! /bin/bash -l
export AWS_ACCESS_KEY_ID=$(aws configure get aws_access_key_id)
export AWS_SECRET_ACCESS_KEY=$(aws configure get aws_secret_access_key)
$value=7
docker run -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY -i -t testjava $value
docker run myimage --build
会抱怨--build: [npx,: not found]
(我的Dockerfile:ENTRYPOINT ['npx', 'mycommand']
)。将它们更改为双引号就可以了,即ENTRYPOINT ["npx", "mycommand"]
. - zypA13510