You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Airflow Docker容器中自定义DAG未在Web UI显示的问题求助

Airflow Docker容器中自定义DAG未在Web UI显示的问题求助

大家好,我最近在使用Docker容器部署Airflow时遇到了一个棘手的问题,想请各位帮忙排查下:

我在VS Code里操作Docker容器,把3个自定义DAG文件(example1.py、example2.py和example3.py)放在了airflow/airflow-docker/dags目录下,但Airflow的Web UI首页一直显示“no results”,完全看不到这些自定义DAG。

我的环境配置

  • 通过Docker容器运行Airflow,全程用VS Code终端执行CLI命令
  • 没有单独的Airflow配置文件,使用的是通过以下命令下载的官方docker-compose.yaml:
    curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.10.4/docker-compose.yaml'
    

我已经尝试过的方法

  1. 在docker-compose.yaml中设置环境变量,指定DAG目录的绝对路径:
    AIRFLOW__CORE__DAGS_FOLDER: '/workspaces/my_dir/airflow/airflow-docker/dags'
    
    但设置后没有任何效果。
  2. 执行airflow dags list命令,结果只显示了目录中自带的示例DAG,看不到我自己添加的DAG文件。

我的docker-compose.yaml中的卷配置

volumes:
    - ${AIRFLOW_PROJ_DIR:-.}/dags:/opt/airflow/dags
    - ${AIRFLOW_PROJ_DIR:-.}/logs:/opt/airflow/logs 
    - ${AIRFLOW_PROJ_DIR:-.}/plugins:/opt/airflow/plugins

附上其中一个自定义DAG的代码示例

from datetime import datetime, timedelta
from airflow import DAG
from airflow.decorators import dag, task


default_args = {
    'owner': 'abc',
    'depends_on_past': False,
    'start_date': datetime(2023, 1, 1),
    'email_on_failure': False,
    'email_on_retry': False,
    'retries': 1,
    'retry_delay': timedelta(minutes=5),
}

@dag(
    'my_example',
    default_args=default_args,
    description='A simple hello DAG',
    schedule_interval=None,  # Disable scheduling
    catchup=False,
)
def taskflow():
    @task
    def say_hello(name):
        return(f'Yo, {name}!')

    (
        say_hello.override(task_id='A')('A')
        >> say_hello.override(task_id='Z')('Z')
    )

taskflow()

想请教一下大家,到底应该把自定义DAG放在哪个目录,或者还需要调整什么配置,才能让Airflow自动加载这些DAG并在Web UI中显示出来呢?非常感谢!

备注:内容来源于stack exchange,提问作者Sahil Negi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 09:18:06