73 votes

docker exécuter passe les arguments au point d'entrée

Je suis capable de transmettre les variables d'environnement en utilisant l'option -e. Mais je ne suis pas sûr de savoir comment passer des arguments de ligne de commande au jar dans entrypoint à l'aide de la commande docker run.

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

85voto

Siyu Points 130

Utilisez ENTRYPOINT sous sa forme exécutive

 ENTRYPOINT ["java", "-jar", "/dir/test-1.0.1.jar"]

puis lorsque vous exécutez docker run -it testjava $value , $value sera "ajouté" après votre point d'entrée, tout comme java -jar /dir/test-1.0.1.jar $value

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X