Si configuro una variable de entorno, digamos ENV ADDRESSEE=world
, y quiero usarla en el script de punto de entrada concatenado en una cadena fija como:
ENTRYPOINT ["./greeting", "--message", "Hello, world!"]
con world
ser el valor de la varible entorno, cómo lo hago? Intenté usarlo "Hello, $ADDRESSEE"
pero eso no parece funcionar, ya que se toma $ADDRESSEE
literalmente.
fuente
ENTRYPOINT java -jar /dockertest.jar -Djava.security.egd=file:/dev/./urandom -Dserver.port=$port
mientrasENV port=123
. El puerto ENV no se resuelve. ¿Alguna idea de por qué?--attitude "shouting"
argumento aldocker run
comando al que se debe pasar./greeting
ENTRYPOINT ./greeting --message "Hello, $ADDRESSEE\! $0 $@"
si también desea pasar variables adicionales a./greeting
través de ladocker run
invocación (o pasar elCMD
del Dockerfile)greeting
en su ejemplo). hynek.me/articles/docker-signalsTraté de resolver con la respuesta sugerida y todavía encontré algunos problemas ...
Esta fue una solución a mi problema:
Dirigirse específicamente a su problema:
fuente
Después de mucho dolor y la gran ayuda de @vitr et al anteriormente, decidí intentar
y eso funcionó.
p.ej
y
ambos configuraron el puerto correctamente en mi contenedor
Refs
ver https://www.cyberciti.biz/tips/bash-shell-parameter-substitution-2.html
fuente