У меня следующая иерархия:
-airflow
-dags
-test.py
-deployment
-dockerfile
-docker compose
-scripts
-requirements.txt
Файл test.py
использует функции из каталога scripts
. В некоторых скриптах есть внешние операторы импорта, например import boto3
. Я предполагаю, что здесь проблема, потому что, когда я запускаю веб-сервер воздушного потока, я вижу, что все DAG, которые не требуют этих внешних пакетов, загружаются, но DAG, которые требуют их, не загружаются с помощью: Broken DAG: [/usr/local/airflow/dags/test.py] No module named 'boto3'
Файл docker compose
выглядит примерно так:
version: '3'
services:
webserver:
build: .
Я пытался добавить что-то вроде этого в свой dockerfile
:
FROM puckel/docker-airflow:1.10.9
WORKDIR /airflow
COPY requirements.txt /airflow
RUN pip install -U pip && pip install -r requirements.txt
Но пакеты, похоже, не получают установлены. Как я могу установить свой requirements.txt
всякий раз, когда я загружаю веб-сервер (docker compose up)?