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

如何修改Docker部署的Apache Airflow的DAG目录?

迁移Docker版Apache Airflow的DAG目录到自定义位置

推荐方法:修改docker-compose挂载配置

Docker部署Airflow时,完全不用碰容器内的airflow.cfg——官方本来就推荐用卷挂载来管理DAG、日志这类文件,毕竟容器重启后内部配置容易重置。按下面步骤操作:

  1. 先停掉正在运行的Airflow容器:
    docker-compose down
    
  2. 打开你的docker-compose.yaml文件,找到volumes区块里的DAG挂载项,原配置大概是这样:
    volumes:
      - ~/airflow/dags:/opt/airflow/dags
    
    把本地路径改成目标位置~/src/dags:
    volumes:
      - ~/src/dags:/opt/airflow/dags
    
  3. 将旧DAG目录下的所有文件复制到新目录:
    cp -r ~/airflow/dags/* ~/src/dags/
    
  4. 重新启动Airflow容器:
    docker-compose up -d
    

备选方案:用环境变量指定DAG目录

如果你想通过配置变量调整,可在docker-compose.yaml中添加环境变量定义容器内的DAG路径,再将本地新目录挂载到该路径:

  1. 先停止容器:
    docker-compose down
    
  2. 在airflow-webserver、airflow-scheduler、airflow-worker等服务的配置中,添加环境变量并更新挂载项:
    services:
      airflow-webserver:
        environment:
          - AIRFLOW__CORE__DAGS_FOLDER=/opt/airflow/custom_dags
        volumes:
          - ~/src/dags:/opt/airflow/custom_dags
      # scheduler和worker服务需要同步添加相同的环境变量和挂载配置
    
  3. 复制DAG文件到新目录后,重启容器即可。

为什么本地找不到airflow.cfg?

Docker部署的Airflow中,airflow.cfg默认存放在容器内部的/opt/airflow目录(Airflow默认的HOME路径)。如果你的docker-compose.yaml没有将容器的/opt/airflow目录挂载到本地~/airflow,自然在本地看不到这个文件。

如果非要编辑本地的airflow.cfg,可以在volumes中添加一行挂载配置:

volumes:
  - ~/airflow:/opt/airflow

重启容器后,本地~/airflow目录就会生成airflow.cfg,但这种方式不如单独挂载DAG目录灵活,官方也不推荐直接修改该文件。

内容的提问来源于stack exchange,提问作者motam79

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 04:44:59