Introducción
Pasos para iniciar un proyecto con Django utilizando Docker dentro del flujo de trabajo. Se utiliza projectname
para hacer referencia al nombre del proyecto.
Pre requisito
- Tener instalado Docker. Si está utilizando Mac OS X o Windows instale Docker Toolbox.
Código fuente
Puede descargar el código fuente utilizado en este artículo.
Diagramas UML
Puede consultar los diagramas de despliegue en este enlace.
Paso Uno – Establecer Estructura.
Descargar estructura del proyecto
Se descarga el proyecto que contiene la estructura general.
git clone https://github.com/mmorejon/docker-django.git projectname
Eliminar carpeta de Git
La carpeta .git
se elimina para crear un nuevo repositorio.
cd projectname
rm -rf .git/
Crear nuevo repositorio dentro del proyecto
Se inicia el control de versiones dentro de la carpeta del proyecto para registrar los cambios.
git init
Paso Dos - Crear Imagen de Docker
Crear Imagen en Docker
Se crea la imagen de Docker para el proyecto. La imagen va a contener la instalación de los requerimientos establecidos en el fichero requirements.txt
.
El fichero requirements.txt
contiene los requisitos básicos para el inicio y despliegue de una aplicación con Django, si necesita adicionarle nuevos elementos este es un buen momento.
docker build -t projectname:1.0 .
Siempre que modifique los elementos dentro del fichero requirements.txt
tiene que repetir este paso.
Configurar Docker Compose
En el fichero docker-compose.yml
se modifica el nombre de la imagen que será utilizada. El nombre de la imagen se ha establecido en el paso anterior. La zona que se modifica dentro del fichero es la siguiente:
image: projectname:1.0
Paso Tres - Crear Proyecto Django
Crear Proyecto
Se crea el proyecto utilizando los mismos comandos descritos por el sitio Django.
docker-compose run web django-admin startproject projectname .
Probar el sistema
Para probar si el sistema está funcionando correctamente se ejectua el siguiente comando. En el navegador se puede revisar la aplicación en la siguiente dirección http://<ip-máquina:8000>
. El puerto de salida puede ser configurado en el fichero docker-compose.yml
.
docker-compose up
Para el sistema
Se detiene el sistema de ser necesario para continuar con las configuraciones.
Ctrl-C
Paso Cuatro - Crear Aplicación
Para crear una aplicación dentro del proyecto Django se utiliza el siguiente comando:
docker-compose run web python manage.py startapp app
Paso Cinco - Crear Usuario
Los usuarios se crean utilizando el mismo comando descrito en la documentación de Django.
docker-compose run web python manage.py createsuperuser
Paso Seis - Entorno de Producción
Para utilizar la aplicación en el entorno de producción se debe configurar los siguientes ficheros:
Adicionar al final del fichero projectname/settings.py
la siguiente línea:
STATIC_ROOT = './static/'
Adicionar la línea command: ./run-production.sh
al fichero docker-compose.yml
quedando de la siguiente forma:
web:
image: projectname:1.0
command: ./run-production.sh
volumes:
- .:/code
ports:
- "8000:80"
Para finalizar debe modificar el nombre del proyecto projectname
en el fichero conf/app.ini
.