Algunos mejoras varias sobre el deployment con Docker. Implementa las mejoras sugeridas en #22 así como algunas adicionales que permiten mejor escalabilidad. Implementar balanceo/distribución con Docker swarm u otra solución similar es bastante sencillo teniendo esto como base.
ChangeLog:
Instalar dependencias como parte del Dockerfile para que queden en un layer
Movidos Dockerfile y compose al raiz del proyecto
El contenedor con la app se puede buildear por fuera del compose
App corriendo con uwsgi para mejor performance
Nuevo servicio basado en nginx para hacer el balanceo
Archivos estaticos son servidos por nginx
Simplificado settings via variables de ambiente en el compose
Sacada inicializacion de la base afuera del entrypoint
Es posible correr comandos en el container. Ej:
docker-compose run app init (corre el migrations y carga los fixtures iniciales)
docker-compose run app manage (corre comandos con manage.py)
Corregida config de travis para correr tests y verificar buildeo del docker.
Algunos mejoras varias sobre el deployment con Docker. Implementa las mejoras sugeridas en #22 así como algunas adicionales que permiten mejor escalabilidad. Implementar balanceo/distribución con Docker swarm u otra solución similar es bastante sencillo teniendo esto como base.
ChangeLog:
docker-compose run app init
(corre el migrations y carga los fixtures iniciales)docker-compose run app manage
(corre comandos conmanage.py
)Tareas pendientes/adicionales: