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:
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 up -d --build
El flag -d se utiliza para que el proceso se ejecute en background y no ocupe la terminal.
PD: 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.
Una vez levantados los contenedores (revisar con el comando docker ps), se procede a instalar las migraciones.
Antes se deben haber configurado las variables de entorno (.env).
Levantamiento de Servicios
Para levantar los servicios que requiere el proyecto se hace uso de estos comandos:
- Levantar servicios.
docker-compose up -d
Estatus del contenedor
Para revisar el estatus de los contenedores activos se usa:
docker ps
El flag -a es opcional para ver todos los contenedores (activos e inactivos).
Ejecutar una migración de Base de Datos
Para exportar una base de datos se debe usar el comando:
docker exec -i <CONTAINER-NAME o CONTAINER-ID> psql -U <USER-DB> -d <DB_NAME> < /path/to/file.sql