for - dockerfile java jar
Ejecutar archivo jar en imagen docker (1)
Hay una diferencia entre las imágenes y los contenedores.
- Las imágenes serán construidas UNA VEZ
- Puedes iniciar contenedores desde Imágenes
En tu caso:
Cambia tu imagen:
FROM anapsix/alpine-java
MAINTAINER myNAME
COPY testprj-1.0-SNAPSHOT.jar /home/testprj-1.0-SNAPSHOT.jar
CMD ["java","-jar","/home/testprj-1.0-SNAPSHOT.jar"]
Construye tu imagen:
docker build -t imageName .
Ahora invoca tu programa dentro de un contenedor:
docker run --name myProgram imageName
Ahora reinicie su programa reiniciando el contenedor:
docker restart myProgram
¿Tu programa cambió? ¡Reconstruye la imagen !:
docker rmi imageName
docker build -t imageName .
Creo una imagen docker con java y copiando archivo jar en imagen. Mi Dockerfile es:
FROM anapsix/alpine-java
MAINTAINER myNAME
COPY testprj-1.0-SNAPSHOT.jar /home/testprj-1.0-SNAPSHOT.jar
RUN java -jar /home/testprj-1.0-SNAPSHOT.j
Después de ejecutar el siguiente comando
docker build -t imageName.
En la consola veo el resultado de la aplicación y todo está bien. ¿Pero cuando detengo la imagen no sé cómo ejecutar la imagen de nuevo? Cuando ejecute el siguiente comando:
docker run -i -t imageName java -jar /home/testprj-1.0-SNAPSHOT.jar
La aplicación se ejecutó de nuevo, pero en mi Dockerfile ya escribí este comando. ¿Cómo ejecutar la imagen sin este comando y la aplicación se ejecuta automáticamente?