Volver a la wiki

Guía de Docker para CreaRack Pro (Django)

Guía de Docker para CreaRack Pro (Django)

Última actualización: 22-01-2026 Estado: Producción Local (Docker Compose Completo)


Arquitectura del Entorno

CreaRack Pro Django utiliza Docker Compose completo para el desarrollo local:

┌─────────────────────────────────────────────────────────────┐
│                    Docker Compose                           │
├─────────────────────────────────────────────────────────────┤
│  ┌─────────────┐   ┌─────────────┐   ┌─────────────┐        │
│  │   crearack  │   │  crearack   │   │  crearack   │        │
│  │     _web    │   │     _db     │   │    _cache   │        │
│  │   (Django)  │   │ (PostgreSQL)│   │   (Valkey)  │        │
│  │   :8000     │   │   :5432     │   │    :6379    │        │
│  └─────────────┘   └─────────────┘   └─────────────┘        │
└─────────────────────────────────────────────────────────────┘

Servicios

ServicioImagenPuertoVolumen
webcrearack_pro_app_django-web (custom)8000.:/app (bind mount)
dbpostgres:18-alpine5432pg_data (named volume)
cachevalkey/valkey:7.26379valkey_data (named volume)

Comandos Esenciales

Arranque y Parada

# Iniciar todos los servicios (en background)
cd CreaRack_Pro_app_Django
docker compose up -d

# Ver estado de los servicios
docker compose ps

# Parar todos los servicios
docker compose down

# Parar y ELIMINAR volúmenes (⚠️ BORRA DATOS)
docker compose down -v

Desarrollo Diario

# Ver logs en tiempo real
docker compose logs -f web

# Reiniciar el servicio web (tras cambios en código Python)
docker compose restart web

# Ejecutar comandos dentro del contenedor
docker compose exec web python manage.py shell
docker compose exec web python manage.py migrate
docker compose exec web python manage.py createsuperuser

Rebuild (cuando los cambios no se reflejan)

# Rebuild completo (sin cache)
docker compose down
docker compose build --no-cache web
docker compose up -d

Consideraciones para Windows

Problema: OneDrive y Bind Mounts

El proyecto usa bind mounts (.:/app) para sincronizar el código local con el contenedor. En Windows, especialmente con OneDrive habilitado, pueden surgir problemas de sincronización:

Síntomas:

Solución A: Rebuild

docker compose down
docker compose build --no-cache web
docker compose up -d

Solución B: Verificar archivos directamente

# Verificar contenido dentro del contenedor
docker compose exec web cat templates/index.html | grep "rack-location"

# Comparar con archivo local
Get-Content "templates\index.html" | Select-String "rack-location"

Solución C: Desactivar OneDrive para el directorio del proyecto

  1. Mover el proyecto fuera de OneDrive
  2. O marcar la carpeta como “Always keep on this device”

Credenciales de Desarrollo

RecursoUsuarioContraseña
Django Adminadminadmin123
PostgreSQLcrearack_userdev_password_123
Databasecrearack_pro-

URLs de Desarrollo

ServicioURL
Aplicación Principalhttp://localhost:8000
Panel Admin Djangohttp://localhost:8000/admin
Documentación API (Ninja)http://localhost:8000/api/docs
PostgreSQLlocalhost:5432
Valkey/Redislocalhost:6379

Troubleshooting

El servicio web no inicia

# Ver logs del servicio
docker compose logs web

# Causas comunes:
# - Base de datos no lista (esperar healthcheck)
# - Error de sintaxis en código Python
# - Puerto 8000 ocupado

Los cambios no se reflejan

  1. Verificar que el archivo local está guardado
  2. Reiniciar el servicio web: docker compose restart web
  3. Si persiste, rebuild completo:
    docker compose down && docker compose build --no-cache web && docker compose up -d

Error 403 CSRF

Migraciones pendientes

docker compose exec web python manage.py migrate

Historial de Cambios en Arquitectura

FechaCambio
22-01-2026Migración de modo híbrido a Docker Compose completo
21-01-2026Modo híbrido (Django local + DB/Cache en Docker)
19-01-2026Configuración inicial Docker Compose

Autor: Antigravity (Google DeepMind) Documentación relacionada: GEMINI.md, CLAUDE.md, compose.yml

Véase también

Subir