empty airflow runing on docker-compose
Despues de clonar el repo, crear las siguientes carpetas al mismo nivel de la carpeta airflow_docker:
airflow_docker/
warehouse-template/
docker-compose.yaml
Dockerfile
...
src/
dags/
logs/
plugins/
Ingresar en la pagina oficial de Docker para descargar e instalar Docker Desktop.
https://www.docker.com/products/docker-desktop/
ES IMPORTANTE EJECUTAR EL INSTALADOR COMO ADMINISTRADOR.
Es necesario instalar docker-compose por mas que instale la aplicacion Docker.
Para instalarlo se ejecutan los siguientes comandos en PowerShell abierto como Administrador:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Start-BitsTransfer -Source "https://github.com/docker/compose/releases/download/v2.15.1/docker-compose-Windows-x86_64.exe" -Destination $Env:ProgramFiles\Docker\docker-compose.exe
docker compose version
https://docs.docker.com/compose/install/other/
Ejecutamos los siguientes comandos en una consola PowerShell abierto como Administrador:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
wsl --set-default-version 2
Ejecutar el comando:
docker-compose build
En caso de que devuelva un error de permisos o de algun otro tipo, revisar las paginas anteriores y seguir todos los pasos nuevamente.
En caso de querer agregar librerias como los providers a base de datos se deben agregar en la siguiente linea del docker-compose.yaml:
_PIP_ADDITIONAL_REQUIREMENTS: ${_PIP_ADDITIONAL_REQUIREMENTS:- apache-airflow-providers-microsoft-mssql apache-airflow-providers-oracle apache-airflow-providers-snowflake apache-airflow-providers-apache-spark apache-airflow-providers-amazon apache-airflow-providers-ftp}
Las librerias van separadas por un espacio. Todo lo que se ponga ahi va ser instalado automaticamente realizando un pip install.
Ejecutar el comando:
docker-compose up
Listo, ya podes verificarlo en http://localhost:8080/
docker-compose up -d
Levantar docker sin el flood de logs
Devuelve los contenedores corriendo
Devuelve todos los contenedores (corriendo y apagados)
Acceder a la consola de un worker de airflow
Apagar el docker para que no se inicie airflow automaticamente al abrir Docker Desktop
Vuelve a compilar docker con las modificaciones realizadas en el aarchivo docker-compose.yaml