En este tema, aprenderás cómo construir tus propias imágenes Docker, que son esenciales para crear contenedores personalizados. Las imágenes Docker son plantillas que contienen todo lo necesario para ejecutar una aplicación, incluyendo el código, las dependencias, las herramientas y las configuraciones.

Conceptos Clave

  1. Dockerfile: Un archivo de texto que contiene una serie de instrucciones para construir una imagen Docker.
  2. Instrucciones Dockerfile: Comandos específicos que se utilizan dentro de un Dockerfile para definir cómo se debe construir la imagen.
  3. Construcción de Imágenes: El proceso de crear una imagen Docker a partir de un Dockerfile.

Pasos para Construir una Imagen Docker

  1. Crear un Dockerfile

El primer paso para construir una imagen Docker es crear un archivo llamado Dockerfile. Este archivo contiene las instrucciones necesarias para construir la imagen.

Ejemplo de Dockerfile

# Usar una imagen base
FROM python:3.8-slim

# Establecer el directorio de trabajo en el contenedor
WORKDIR /app

# Copiar los archivos de la aplicación al contenedor
COPY . /app

# Instalar las dependencias
RUN pip install --no-cache-dir -r requirements.txt

# Exponer el puerto en el que la aplicación escuchará
EXPOSE 5000

# Comando para ejecutar la aplicación
CMD ["python", "app.py"]

Explicación del Dockerfile

  • FROM: Especifica la imagen base a utilizar. En este caso, estamos utilizando una imagen de Python 3.8.
  • WORKDIR: Establece el directorio de trabajo dentro del contenedor.
  • COPY: Copia los archivos de la aplicación desde el host al contenedor.
  • RUN: Ejecuta comandos en el contenedor. Aquí, estamos instalando las dependencias de la aplicación.
  • EXPOSE: Indica el puerto en el que la aplicación escuchará.
  • CMD: Especifica el comando que se ejecutará cuando se inicie el contenedor.

  1. Construir la Imagen

Una vez que tengas tu Dockerfile, puedes construir la imagen utilizando el comando docker build.

Comando para Construir la Imagen

docker build -t my-python-app .
  • -t my-python-app: Etiqueta la imagen con el nombre my-python-app.
  • .: Indica el contexto de construcción, que es el directorio actual.

  1. Verificar la Imagen Construida

Después de construir la imagen, puedes verificar que se haya creado correctamente utilizando el comando docker images.

Comando para Listar Imágenes

docker images

Esto mostrará una lista de todas las imágenes Docker en tu sistema, incluyendo la que acabas de construir.

Ejercicio Práctico

Ejercicio 1: Construir una Imagen Docker para una Aplicación Node.js

Paso 1: Crear el Dockerfile

Crea un archivo llamado Dockerfile con el siguiente contenido:

# Usar una imagen base de Node.js
FROM node:14

# Establecer el directorio de trabajo en el contenedor
WORKDIR /usr/src/app

# Copiar los archivos de la aplicación al contenedor
COPY package*.json ./

# Instalar las dependencias
RUN npm install

# Copiar el resto de los archivos de la aplicación
COPY . .

# Exponer el puerto en el que la aplicación escuchará
EXPOSE 8080

# Comando para ejecutar la aplicación
CMD ["node", "server.js"]

Paso 2: Construir la Imagen

Ejecuta el siguiente comando para construir la imagen:

docker build -t my-node-app .

Paso 3: Verificar la Imagen

Utiliza el siguiente comando para verificar que la imagen se haya creado correctamente:

docker images

Solución del Ejercicio

Si has seguido los pasos correctamente, deberías ver una nueva imagen llamada my-node-app en la lista de imágenes Docker.

Resumen

En esta sección, has aprendido cómo construir imágenes Docker utilizando un Dockerfile. Has visto un ejemplo práctico de un Dockerfile para una aplicación Python y has realizado un ejercicio para construir una imagen Docker para una aplicación Node.js. Ahora estás listo para crear tus propias imágenes Docker personalizadas.

En el próximo tema, profundizaremos en los conceptos básicos de Dockerfile, donde aprenderás más sobre las diferentes instrucciones que puedes utilizar para construir imágenes Docker.

© Copyright 2024. Todos los derechos reservados