Я несколько неопытен как с Docker, так и с Airflow, так что это может быть глупый вопрос. У меня есть файл Dockerfile, который использует образ apache/airflow
вместе с некоторыми из моих собственных DAG. Я хотел бы запустить веб-сервер воздушного потока вместе с планировщиком, и у меня с этим возникают проблемы. Я могу заставить его работать, но я чувствую, что подхожу к этому неправильно.
Вот как выглядит мой Dockerfile:
FROM apache/airflow
COPY airflow/dags/ /opt/airflow/dags/
RUN airflow initdb
Затем я запускаю docker build -t learning/airflow .
. Вот сложная часть: затем я запускаю docker run --rm -tp 8080:8080 learning/airflow:latest webserver
, а в отдельном терминале - docker exec `docker ps -q` airflow scheduler
. Проблема в том, что на практике это обычно происходит где-то на виртуальной машине, поэтому открытие второго терминала просто не вариант, и несколько машин, вероятно, не будут иметь доступа к одному и тому же контейнеру docker. Запуск webserver && scheduler
, похоже, не работает, сервер, похоже, блокирует, и я все еще вижу сообщение «Планировщик не работает» в пользовательском интерфейсе Airflow.
Есть идеи о том, что правильно способ запуска сервера и планировщика должен быть?
Большое спасибо!