Ya hemos hablado sobre Docker, sus ventajas y consideraciones técnicas, pero ahora vamos a dar el siguiente paso, montaremos una aplicación de Django sobre Docker, en un contenedor de Fedora Linux. Antes de comenzar a desplegar la aplicación de Django, recuerda que necesitas tener Docker instalado y conocer al menos, los comandos básicos del mismo.
Creando el contenedor
La creación del Docker es un proceso sencillo, usaremos el comando:
Código :
run
y la imagen Fedora, dentro del contenedor ejecutaremos:
Código :
/bin/bash
y así tenemos acceso a una consola.
Código :
# docker run -d -i -t -p 8000:8000 fedora /bin/bash
Al ejecutar:
Código :
run
Se le asignan ciertos parámetros, primero:
Código :
-d
que permite la ejecución del contenedor en background y nos devuelve el ID del contenedor,
Código :
-i
activa la salida de lo que se ejecute en el contenedo,
Código :
-t
nos activa una terminal (tty) y
Código :
-p
para publicar un puerto del contenedor al sistema host.
La salida al ejecutar el contenedor es la siguiente:
Código :
Unable to find image 'fedora' locally Pulling repository fedora 88b42ffd1f7c: Download complete 511136ea3c5a: Download complete c69cab00d6ef: Download complete a668b6c43a1f030de4d8ddb2ced6ee71fbece5aae65baf74b28293463be22752 # ID
Ya tenemos nuestro contenedor creado y en ejecución, ¿cómo lo sabemos?, con:
Código :
docker ps
La salida se muestra de la siguiente manera:
Código :
# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a668b6c43a1f fedora:latest "/bin/bash" About a minute ago Up About a minute 0.0.0.0:8000->8000/tcp hungry_galileo
Instalación de nuestro entorno virtual
Ya la parte de Docker está hecha, ahora falta instalar todos los componentes que necesitamos para poder ejecutar Django, para eso ingresamos al contenedor con el comando:
Código :
attach + ID del contenedor
De esta manera podremos utilizar el shell y ejecutar:
Código :
yum
para la instalación de virtualenv y las librerías necesarias.
Código :
# docker attach a668b6c43a1fbash-4.2#
Dentro del shell instalamos
Código :
python-devel
y
Código :
virtualenv
Código :
bash-4.2# yum install -y python-devel python-virtualenv
Luego de haber instalado las librerías necesarias, creamos una carpeta llamada:
Código :
app_django
y luego con el comando:
Código :
virtualenv
creamos nuestro entorno virtual con el mismo nombre de la carpeta, para luego instalar Django.
Código :
bash-4.2# mkdir app_django bash-4.2# cd app_django/ bash-4.2# virtualenv app_django New python executable in app_django/bin/python Installing setuptools, pip...done. bash-4.2# ls app_django bash-4.2# source app_django/bin/activate (app_django)bash-4.2#
Instalación y ejecución de Django
Con el entorno virtual de Python activado, usamos la herramienta:
Código :
pip
para instalar Django en su última versión 1.7.
Código :
(app_django)bash-4.2# pip install django
Cuando termine la instalación, procedemos a crear la aplicación con el comando:
Código :
startproject
de:
Código :
django-admin.
Código :
(app_django)bash-4.2# django-admin startproject docker-app .
En este punto ya podremos ejecutar Django y acceder desde nuestro navegador, recordando que el puerto que hemos mapeado hacia el sistema operativo host es el 8000.
Código :
(app_django)bash-4.2# python manage.py runserver 0.0.0.0:8000
En el navegador accedemos a http://localhost:8000/ y debe aparacer la siguiente pantalla.
Apartir de este momento puede seguir desarrollando sobre el proyecto creado.
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por hackchan el 28 de Marzo de 2015