Instalar Docker en Windows y crear un Docker Hello World en Java

Docker es un contenedor que te permite automatizar el despliegue de aplicaciones abstrayendote del sistema operativo.
Veremos aquí como instalar Docker en Windows y como crear un hello world en Docker.

Descargar Docker e instalar

Para instalar Docker en Windows debes primero descarcar Docker desde esta url
https://docs.docker.com/compose/install/

Instalar Docker en Windows

Eligiendo la opcion Get Docker Desktop for Windows veraz la opción para descargar
https://docs.docker.com/docker-for-windows/install/

Instalar Docker en Windows

Te pedirá te registres con tu Id y password. Si no lo tienes deberás crear uno.

Instalar Docker en Windows

Una vez hayas ingresado verás el botón para la descarga del instalador.

Instalar Docker en Windows

Luego de iniciar el archivo descargado, el instalador te preguntara si prefieres usar Docker con un contedor Windows o Linux.
La mejor opción es Linux . Esto se puede cambiar mas adelante.
Elegido esto se iniciará el desempaquetado de de Docker

Instalar Docker en Windows

Una vez terminada la instalación, abre Docker Desktop para iniciar docker y dejarlo ejecutandose.

Iniciar Docker

Veras en el area de notificación el icono de docker.
Alli puedes ingresar con tu ID y password para y establecer ajustes generales de docker.
Las opciones por defecto son suficientes para este ejemplo.

Docker en Windows

Ahora podemos probar nuestro Docker.
Abrimos una terminal de PowerShell o de CMD y comprueba escribiendo


docker version

Docker Version

Como crear un hello world con Docker

Una vez terminada la instalación vamos a crear un contenedor hello world.
Simplemente desde una terminal de windows CMD ejecuta


docker run hello-world

Esto descargara un contenedor de ejemplo hello world desde el hub de docker y lo ejecutará.

Docker Contenedor

Una vez descargado el contenedor hello world puedes ejecutarlo con todas las veces que desees.

docker run hello-world

Ejecutar Docker

Como crear tu primer dockerfile

Veamos ahora como crear nuestro primer dockerfile.
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 con una imagen linux y que ejecute un hello world en java.

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.
Aqui 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 visto aquí como instalar Docker y verificar que este correctamente instalado.
Tambien has creado tu primer dockerfile para ejecutar un hello world hecho en java dentro del contenedor.

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 codigo en:
https://github.com/gustavopeiretti/docker-hello-world-java-example
https://gitlab.com/gustavopeiretti/docker-hello-world-java-example

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.