Je suis un peu inexpérimenté avec Docker et Airflow, donc cela pourrait être une question idiote. J'ai un Dockerfile qui utilise l'image apache/airflow
avec quelques-uns de mes propres DAG. J'aimerais lancer le serveur web airflow ainsi que le planificateur et j'ai des problèmes avec ça. Je peux le faire fonctionner, mais j'ai l'impression de m'y prendre de la mauvaise façon.
Voici à quoi ressemble mon Dockerfile :
FROM apache/airflow
COPY airflow/dags/ /opt/airflow/dags/
RUN airflow initdb
Ensuite, j'exécute docker build -t learning/airflow .
. Voici la partie difficile : ensuite, j'exécute docker run --rm -tp 8080:8080 learning/airflow:latest webserver
et dans un terminal séparé, j'exécute docker exec `docker ps -q` airflow scheduler
. Le problème est que, en pratique, cela se produit généralement sur une machine virtuelle quelque part, donc ouvrir un deuxième terminal n'est tout simplement pas une option et de multiples machines n'auront probablement pas accès au même conteneur Docker. Exécuter webserver && scheduler
ne semble pas fonctionner, le serveur semble bloquer et je continue de voir le message "Le planificateur ne semble pas être en cours d'exécution" dans l'interface utilisateur Airflow.
Des idées sur la bonne façon de lancer le serveur et le planificateur?
Merci beaucoup!