Desarrollo Django/python
Docker para entornos de
Victor Aguilar
http://victoraguilar.net
victor@xiberty.com




PROYECTO DJANGO
THE GOOD PARTS
Modelos
Vistas
Plantillas
CLI
Configuración
Integración







MODELOS


VISTAS


PLANTILLAS


CLI


CONFIGURACIÓN


INTEGRACIÓN


¿Como es el desarrollo en DJANGO?
era
Servidor todo en uno

OTHER SERVICE
DJANGO
POSTGRES
REDIS

Servidor(virtualizado) todo en uno

OTHER SERVICE
DJANGO
POSTGRES
REDIS




Dev1
Dev2
Dev0
Common
Es una herramienta para crear, configurar y reproducir entornos de desarrollo "ligeros" y portables

¿Vagrant?
El problema de usar vagrant para administrar tus entornos de desarrollo siempre ha sido
VAGRANT SE ESTA CHINGANDO
MIS RECURSOS

AL RESCATE
DOCKER
THE GOOD PARTS
Dockerfile
Compose
Tools






¿Tienen alguna idea para una app?
BLOG PERSONAL
SEGURO QUE ALGUNA VEZ QUISISTE HACER TU

TE CUENTO QUE YO TAMBIÉN
BitBlog
Es un blog personal escrito en Django/Wagtail, con la particularidad de que está orientado a desarrolladores

Dockerizando mi blog ando
PROYECTO DJANGO
COMO SERVICIOS
NGINX
DJANGO
POSTGRES
REDIS

WEBSERVER
APP
DATABASE ENGINE
CACHE SERVER
DATA
OTHER SERVER
OTHER SERVICE

Dockerizando
- Seleccionar una imagen
- Instalar lo que se necesite para el propósito de la imagen
- Provisionar el comando por defecto si se requiere
- Exponer los puertos necesarios
- Vincular con los contenedores necesarios


DJANGO
FROM python:3.5
ENV PYTHONUNBUFFERED 1
COPY ./requirements /requirements
RUN pip install -r /requirements/local.txt
COPY ./compose/django/entrypoint.sh /entrypoint.sh
RUN sed -i 's/\r//' /entrypoint.sh
RUN chmod +x /entrypoint.sh
COPY ./compose/django/start-dev.sh /start-dev.sh
RUN sed -i 's/\r//' /start-dev.sh
RUN chmod +x /start-dev.sh
WORKDIR /app
ENTRYPOINT ["/entrypoint.sh"]

Dockerfile

POSTGRES
FROM postgres:9.6
ADD backup.sh /usr/local/bin/backup
ADD restore.sh /usr/local/bin/restore
ADD list-backups.sh /usr/local/bin/list-backups
RUN chmod +x /usr/local/bin/restore
RUN chmod +x /usr/local/bin/list-backups
RUN chmod +x /usr/local/bin/backup

Dockerfile

MAILHOG
FROM mailhog:latest

Dockerfile

VAMOS A LA ACCIÓN
Se aceptan contribuciones
Enlaces de interes
Esta presentación: slides.com/vicobits/django-docker-dev
HAY SEGUNDA PARTE (production)

victor@xiberty.com
Dockerizando una app django
By Victor Aguilar
Dockerizando una app django
Dockerizando un app Django para entornos de desarrollo
- 542