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.
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']
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.
Crear un archivo requirements.txt:
Asegúrate de tener un archivo requirements.txt con todas las dependencias necesarias para tu proyecto Django.
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 .
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.
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.