Docker. Uno de los archivos mágicos, el Dockerfile.

Docker. Uno de los archivos mágicos, el Dockerfile.


En las anteriores publicaciones, aprendimos la arquitectura, conceptos base y arrancamos con el primer contenedor en Docker ¡Perfecto!

Sí estas en este punto, quiere decir que estamos a un paso de hacer cosas maravillosas con Docker, si no, te recomiendo que sí revises las publicaciones antes de continuar.

¡Listos!

En esta ocasión, vamos a estudiar uno de los elementos de Docker que nos permitirá construir grandes cosas, es decir, vamos a tener el ladrillo para luego construir paredes.

También, no se te olvide instalar Git en tu equipo de cómputo. Sí no lo tienes instalado te recomiendo que revises el material (gratuito) que tengo para ti Git y Github básico o visita la publicación Necesito instalar Git en mi computadora con Windows 10, ¿Cómo le hago?

Dockerfile

¿Qué de maravilla tiene Dockerfile? Nada, es un simple archivo, pero lo que lo hace especial es su contenido, y como es texto puedes administrar los Dockerfiles con un sistema de control de versiones como Git.
 
Con este archivo podemos construir imágenes mediante comandos que claro, cada comando realiza una cierta acción, como elegir la imagen base, ejecutar comandos de instalación de paquetes, copiar archivos, ejecutar en la línea de comandos, etc.


Aquí un ejemplo de un Dockerfile:


FROM alpine

RUN apk update && apk add nodejs

COPY . /app

WORKDIR /app

CMD [“node”, “index.js”]




Este ejemplo realiza lo siguiente:


1. Especifica una imagen para traer con FROM.

2. Entonces, RUN ejecuta la comprobación de actualizaciones e instala Node.js dentro del Contenedor.

3. Luego, copia todos los archivos que existen en el directorio donde se encuentran los archivos del proyecto con el Dockerfile y los coloca en el directorio /app dentro del Contenedor.

4. Seguido, establece que el directorio de trabajo (WORKDIR) es el directorio donde se copiaron los archivos del proyecto.

5. Finalmente, con la instrucción CMD ejecutamos el cliente de node, pasando el archivo index.js como parámetro.



¿Qué tengo que hacer?


Antes de seguir los pasos puedes visitar el repositorio de ejemplo https://github.com/nelsonmoy/dockerfile-node-example.git



1. Con git instalado, vamos a ejecutar el siguiente comando en la línea de comandos:


git clone https://github.com/nelsonmoy/dockerfile-node-example.git







2. Ingresamos al directorio con el comando
cd dockerfile-node-example







3. Ejecutamos el comando
docker build .



¡IMPORTANTE! Si no tienes Docker instalado te sugiero que antes revisar la publicación ¿Cómo instalar Docker en mi computadora con sistema operativos Windows y no morir en el instento? Sí tiene una raspberry PI revisa ¿Cómo instalar docker en una raspberry PI 3 y no morir en el intento?







Obtendrás un resultado similar a este, puede que, al no tener la imagen de alpine se descargue de Internet y que el sistema instale un paquete para el sistema de caracteres. No te preocupes estas tareas se ejecutan automáticamente.

Con esto has construido tu primera imagen con Dockerfile. 


Para probar el funcionamiento de nuestra imagen debemos obtener el ID de la imagen. Para ello vamos a ejecutar el siguiente comando 

docker image ls





Obtendrás un resultado similar, pero lo importante aquí es identificar la imagen que hemos construido. En la columna de CREATED, se visualiza el tiempo que llevan las imágenes de creadas. La imagen más reciente es nuestra; para este caso la imagen con ID 3795230e0d7f.

Para probar que la construcción de nuestra imagen salió todo bien, vamos a ejecutar el siguiente comando:



docker container run 3795230e0d7f





Como puedes observar en la ilustración, se aprecia que nuestra aplicación imprime el texto de nuestro proyecto.


¡Felicidades! Si llegaste hasta aquí, ya cuentas con las bases para empezar a desarrollar tus aplicaciones con Docker.


Por si te perdiste algunos de los temas anteriores 

¿Te imaginas ahorrar horas en tu computadora y trabajar como un verdadero profesional?

💻⚡Ya está disponible el Pack de 10 Scripts de Automatización para Windows, diseñado para eliminar tareas repetitivas y hacer tu día mucho más eficiente.


Y esto es solo el comienzo… muy pronto lanzaré un Pack PRO, con automatizaciones avanzadas que llevarán tu productividad al siguiente nivel. 🚀



Comentarios