Creando un Container de Django en Docker

En esta guía, aprenderemos cómo crear un contenedor de Docker con un servidor de Django que se abra para todas las conexiones locales. Este proceso nos permitirá ejecutar nuestra aplicación Django en un entorno aislado y fácilmente reproducible.

Pasos para crear el contenedor

  1. Configurar el proyecto Django:

    Asegúrate de que tu configuración de Django permita conexiones desde cualquier IP local. Esto se hace configurando ALLOWED_HOSTS en settings.py:

    ALLOWED_HOSTS = ['0.0.0.0', 'localhost', '127.0.0.1']
    
  2. Crear un Dockerfile:

    Crea un archivo llamado Dockerfile en la raíz de tu proyecto con el siguiente contenido:

    # Usa una imagen base de Python
    FROM python:3.x
    
    # Establece el directorio de trabajo dentro del contenedor
    WORKDIR /app
    
    # Copia el archivo de requisitos y luego instala las dependencias
    COPY requirements.txt /app/
    RUN pip install --no-cache-dir -r requirements.txt
    
    # Copia todo el contenido del proyecto al directorio de trabajo del contenedor
    COPY . /app/
    
    # Expone el puerto 8000 para el servidor de Django
    EXPOSE 8000
    
    # Comando predeterminado para ejecutar el servidor de desarrollo de Django
    CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
    

    Asegúrate de reemplazar 3.x con la versión de Python que estás utilizando.

  3. Crear un archivo requirements.txt:

    Asegúrate de tener un archivo requirements.txt con todas las dependencias necesarias para tu proyecto Django.

  4. Construir el contenedor:

    Ejecuta el siguiente comando en el mismo directorio donde está tu Dockerfile para construir la imagen de Docker:

    docker build -t mi_app_django .
    
  5. Iniciar el contenedor:

    Usa el siguiente comando para ejecutar el contenedor y abrir el servidor de Django a todas las conexiones locales:

    docker run -p 8000:8000 mi_app_django
    

Con estos pasos, tu aplicación Django debería estar corriendo en un contenedor de Docker y ser accesible desde tu navegador local en http://localhost:8000.

Consideraciones adicionales

Esta configuración te permite desarrollar y probar tu aplicación Django en un entorno aislado y reproducible, facilitando la colaboración y el despliegue en diferentes entornos.