Docker
La idea detrás de Docker es crear contenedores ligeros y portables para las aplicaciones software que puedan ejecutarse en cualquier máquina con Docker instalado, independientemente del sistema operativo que la máquina tenga por debajo, facilitando así también los despliegues.
Compose es una herramienta para definir y ejecutar aplicaciones Docker de contenedores múltiples. Con Compose, utiliza un archivo YAML para configurar los servicios de su aplicación. Luego, con un solo comando, crea e inicia todos los servicios desde su configuración.
Compose funciona en todos los entornos: producción, staging, desarrollo y testing.
Build
Para construir y levantar el proyecto hay que buildear el contenedor inicialmente. Se realiza con este comando:
Cuidado
El proyecto se tiene que buildear cada vez que se instala una nueva dependencia, es decir, se agrega una nueva librería a los requirements.
docker-compose -f file_name up --build
En este caso el file_name dependerá del entorno en el que se quiera levantar el proyecto. Los archivos posibles son: development.yml, staging.yml, production.yml o testing.yml.
Cuidado
Antes se deben haber configurado las variables de entorno según sea el caso en la carpeta /.envs/.
Levantamiento del Proyecto
Para levantar el proyecto se hace uso de estos comandos:
- Levantar el proyecto.
docker-compose -f file_name up
En este caso el file_name dependerá del entorno en el que se quiera levantar el proyecto. Los archivos posibles son: development.yml, staging.yml, production.yml o testing.yml.
Automáticamente debería poder acceder desde localhost:8000 en caso de ser el entorno local.
Estatus del contenedor
Para revisar el estatus del contenedor se usa:
docker ps -a
El flag -a es opcional para ver todos los contenedores. Sin el flag solo se mostrarían los contenedores activos.
Correr contenedor de pruebas
Para ejecutar las pruebas, es necesario correr el siguiente comando. Si ya se ha buildeado el contenedor, entonces ejecutar:
docker-compose -f testing.yml up
Si no:
docker-compose -f testing.yml up --build