# =========================================== # DOCKERFILE PARA APLICACIÓN BACKEND PYTHON # =========================================== # Usamos una imagen base ligera de Python 3.10 basada en Alpine Linux # Alpine es una distribución Linux muy pequeña (~5MB) que reduce el tamaño de la imagen # python:3.10-alpine incluye Python 3.10 y las herramientas básicas necesarias FROM python:3.10-alpine # Establecemos el directorio de trabajo dentro del contenedor # Todas las operaciones posteriores (COPY, RUN, CMD) se ejecutarán desde este directorio # /usr/src/app es una convención común para aplicaciones en contenedores WORKDIR /usr/src/app # Copiamos el archivo de la aplicación Python desde el host al contenedor # El primer parámetro (app.py) es el archivo fuente en el host # El segundo parámetro (.) es el destino en el contenedor (directorio actual = /usr/src/app) # Esto copia app.py al directorio de trabajo del contenedor COPY app.py . # Exponemos el puerto 8000 que usará el servidor web # Esta instrucción es solo documentativa - no abre el puerto automáticamente # El puerto se abre realmente cuando se ejecuta el contenedor con -p o en docker-compose # Es una buena práctica documentar qué puertos usa la aplicación EXPOSE 8000 # Comando por defecto para iniciar la aplicación cuando se ejecute el contenedor # Se ejecuta automáticamente cuando se inicia el contenedor (a menos que se sobrescriba) # Formato de array: ["comando", "argumento1", "argumento2"] # python app.py ejecutará el archivo app.py con el intérprete de Python CMD ["python", "app.py"]