Si je définis une variable d'environnement, disons ENV ADDRESSEE=world
, et que je veux l'utiliser dans le script de point d'entrée concaténé dans une chaîne fixe comme:
ENTRYPOINT ["./greeting", "--message", "Hello, world!"]
avec world
étant la valeur du varible de l' environnement, comment puis-je le faire? J'ai essayé d'utiliser "Hello, $ADDRESSEE"
mais cela ne semble pas fonctionner, car cela prend $ADDRESSEE
littéralement.
la source
ENTRYPOINT java -jar /dockertest.jar -Djava.security.egd=file:/dev/./urandom -Dserver.port=$port
tandis queENV port=123
. Le port ENV n'est pas résolu. Des idées pourquoi?--attitude "shouting"
argument à ladocker run
commande qui devrait être passé à./greeting
ENTRYPOINT ./greeting --message "Hello, $ADDRESSEE\! $0 $@"
si vous souhaitez également passer des variables supplémentaires./greeting
via l'docker run
invocation (ou pour passerCMD
le fichier Dockerfile)greeting
dans votre exemple). hynek.me/articles/docker-signalsJ'ai essayé de résoudre avec la réponse suggérée et j'ai toujours rencontré des problèmes ...
C'était une solution à mon problème:
Cibler spécifiquement votre problème:
la source
Après beaucoup de douleur et une grande assistance de @vitr et al ci-dessus, j'ai décidé d'essayer
et cela a fonctionné.
par exemple
et
les deux définissent correctement le port dans mon conteneur
Réfs
voir https://www.cyberciti.biz/tips/bash-shell-parameter-substitution-2.html
la source