Como crear un hola mundo con Java y Docker

Veamos como crear nuestro primer dockerfile y crear un hola mundo con Java dentro de un contenedor docker.

Un dockerfile es un archivo con las instrucciones para que Docker cree un contenedor que podremos ejecutar con la configuración y software que necesitemos.

Vamos a crear un docker y que ejecute un hello world en java. Necesitarás tener previamente instalado docker.

Primero crea tu HelloWorld en Java, lo compilas y ejecutas.


public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Running HelloWorld into docker");
        System.out.println("Hello World Docker!!!");
        System.out.println("Bye bye!");
    }
}

javac HelloWorld.java
java HelloWorld
Ejecutar HelloWorld Java

Luego crea tu archivo dockerfile con las siguientes instrucciones


FROM alpine:latest
ADD HelloWorld.class HelloWorld.class
RUN apk --update add openjdk8-jre
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "HelloWorld"]

Analicemos este archivo dockerfile:

  • FROM alpine:latest - Esta instrucción lo que hace es agregar un linux Alpine a nuestro docker. Alpine linux es un linux que pesa apenas unos 5MB
  • ADD HelloWorld.class HelloWorld.class - Agregamos el archivo HelloWorld.class a nuestra imágen con el mismo nombre original.
  • RUN apk –update add openjdk8-jre - Instala java*, especificamente un openjdk a nuestra imagen docker.
  • ENTRYPOINT [“java”, “-Djava.security.egd=file:/dev/./urandom”, “HelloWorld”] - Ejecutará nuestro codigo HelloWorld

Como ejecutar tu primer dockerfile

Ahora hacemos un build del dockerfile para crear nuestra imagen. Aquí le decimos que haga un build de dockerfile con el nombre docker-hello-world y el tag (etiqueta) latest


docker build --tag "docker-hello-world:latest" .

Docker Build

Si ejecutamos


docker images

veremos nuestra imagen creada y disponible para ser utilizada.

Docker images

Ahora podemos ejecutarlo y ver el resultado.


docker run docker-hello-world:latest

Docker Run

Conclusión

Has creado tu primer dockerfile para ejecutar un ‘hola mundo’ hecho en Java dentro del contenedor docker.

Hemos visto algunos comandos básicos:

  • comando docker build : para crear una imagen docker.
  • comando docker run: para ejecutar una imagen docker.
  • comando docker images: para ver las imagenes docker creadas.

Puedes ver este código en: https://github.com/gustavopeiretti/docker-hello-world-java-example
https://gitlab.com/gustavopeiretti/docker-hello-world-java-example

Hi! If you find my posts helpful, please support me by inviting me for a coffee :)
docker  Java 

Ver también