Solución:
Usar ENTRYPOINT
en su forma ejecutiva
ENTRYPOINT ["java", "-jar", "/dir/test-1.0.1.jar"]
entonces cuando corras docker run -it testjava $value
, $value
se “agregará” después de su punto de entrada, al igual que java -jar /dir/test-1.0.1.jar $value
Deberías desatar el poder de la combinación de ENTRYPOINT
y CMD
.
Coloque la parte inicial de su línea de comando, que no se espera que cambie, en ENTRYPOINT
y la cola, que debe ser configurable, en CMD
. Luego, puede agregar los argumentos necesarios a su docker run
mando. Como esto:
Dockerfile
FROM openjdk
ADD . /dir
WORKDIR /dir
COPY ./test-1.0.1.jar /dir/test-1.0.1.jar
ENTRYPOINT ["java", "-jar"]
CMD ["/dir/test-1.0.1.jar"]
Sh
# this will run default jar - /dir/test-1.0.1.jar
docker run testjava
# this will run overriden jar
docker run testjava /dir/blahblah.jar
Este artículo ofrece una buena explicación: https://medium.freecodecamp.org/docker-entrypoint-cmd-dockerfile-best-practices-abc591c30e21
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)