Mi primer App Dockerizada

Previamente instalamos y configuramos Docker en Fedora. Ahora generaremos un contenedor a partir del código fuente de una aplicación.

1 Generando un contenedor a partir de código

Descargamos el código fuente inicial (en este caso con git) en alguna ubicación de su equipo, desde la consola podemos clonar el repositorio:

git clone https://github.com/jquirozo/Docker5min.git


Abrimos a carpeta /app/ en nuestro editor preferido (nosotros usamos VS Code):

En el mismo nivel que el archivo package.json se agrega un archivo nuevo (sin extensión .txt o ninguna otra) llamado Dockerfile, con el siguiente contenido: 

 FROM node:12-alpine
 RUN apk add --no-cache python g++ make
 WORKDIR /app
 COPY . .
 RUN yarn install --production
 CMD ["node", "src/index.js"]

En la línea de comandos se crea una nueva imagen de contenedor:

docker build -t getting-started .

Este comando descarga la imagen alpine como se indica en la instrucción FROM de nuestro Dockerfile. La opción -t coloca una etiqueta a la imagen, se puede referir a esta imagen cuando ejecutamos un contenedor. Al final del comando, el punto, indica a Docker que debe buscar el Dockerfile desde el directorio actual.


Podremos ver la imagen recién creada con el siguiente comando:

docker images

Además de la imagen recién mencionada, se observa una con la etiqueta node, dicha imagen también es parte de nuestra aplicación.

2 Iniciando la aplicación Docker

Actualmente tenemos una imagen, pero aún no podemos verla en ejecución. Para poder comenzar a utilizarla necesitamos indicarle a Docker que ejecute una instancia de dicha imagen, lo cual generará un contenedor. Ejecutamos el comando run para dicho objetivo:

docker run -dp 3000:3000 getting-started

-d indica que ejecutaremos el contendor en segundo plano (detached)

-p indica el mapeo de puerto entre el host y el contenedor, sin este mapeo no podríamos acceder a la aplicación.

Podemos consultar los contenedores actuales:

docker container ls

Observamos que el contenedor con la etiqueta getting-started esta disponible en la dirección http://localhost:3000. Podremos ingresar dicha dirección en nuestro navegador preferido:


Ahora tenemos una app funcional que nos permite agregar y eliminar elementos:

Bastaron un par de instrucciones para "Dockenizar" y poner en marcha una aplicación. 


3 Bibliografía

Sample application | Docker Documentation

Running Visual Studio Code on Linux

Comentarios

Entradas más populares de este blog

Primeros pasos con Docker Desktop