Empaquetando aplicaciones con Docker: Tutorial para el proyecto skills

Este tutorial aborda la containerización del proyecto de catálogo de habilidades skills, permitiendo un despliegue consistente en diversos entornos mediante Docker. A continuación, se detalla un proceso paso a paso para empaquetar la aplicación.

Preparación del entorno

Antes de iniciar, verifique que su sistema cuente con los siguiantes componentes:

  • Docker Engine (versión 20.10 o superior)
  • Git (para clonar el repositorio)

Confirme la instalación de Docker con los comandos:

docker --version
docker-compose --version

Paso 1: Obtención del código fuente

Clone el repositorio del proyecto y acceda al directorio resultante:

git clone https://ejemplo.com/proyecto/skills.git
cd skills

Paso 2: Configuración del Dockerfile

En la raíz del proyecto, cree un archivo Dockerfile con el siguiente contenido:

# Imagen base de Python
FROM python:3.10-alpine

# Definición del directorio de trabajo
WORKDIR /codigo

# Transferencia de archivos
COPY . .

# Instalación de paquetes
RUN pip install --no-cache-dir -r requerimientos.txt

# Puerto expuesto
EXPOSE 5000

# Comando de inicio
CMD ["python", "ejecutar.py"]

Paso 3: Generación de la imagen Docker

Ejecute el siguiente comando en el directorio del proyecto para construir la imagen:

docker build -t habilidades:v1 .

Para listar las imágenes generadas:

docker images | grep habilidades

Paso 4: Ejecución del contenedor

Inicie el contenedor con un mapeo de puertos personalizado:

docker run -d -p 8080:5000 --name contenedor-habilidades habilidades:v1

Verifique el estado de ejecución:

docker ps | grep contenedor-habilidades

Paso 5: Validación del servicio

Acceda a http://localhost:8080 desde un navegador para comprobar el funcionamiento. Revise los registros del contenedor si es necesario:

docker logs contenedor-habilidades

Resolución de problemas comunes

Conflicto de puertos

Si el puerto está ocupado, ajuste el mapeo en el comando docker run, por ejemplo:

docker run -d -p 9090:5000 --name contenedor-habilidades habilidades:v1

Fallos en la instalación de dependencias

Asegúrese de que el archivo requerimientos.txt exista y que la conexión a internet sea estable.

Publicado el 6-4 22:24