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

Windows环境Docker部署Airflow:本地DAG脚本迁移指南

在Windows Docker环境下处理Airflow DAG脚本的两个问题

问题1:是否需要自行创建dags文件夹?

不需要手动创建。官方Apache Airflow Docker镜像在构建时已经默认创建了DAG目录,路径通常为/opt/airflow/dags,且airflow.cfg中dags_folder参数默认指向该路径。如果是通过官方提供的docker-compose.yml启动的Airflow实例,这个目录会自动被容器识别并使用。

如果不确定目录是否存在,可以通过以下命令快速验证:

docker exec <你的Airflow容器名/容器ID> ls /opt/airflow/dags

(容器名/ID可通过docker ps命令查看)

问题2:如何将本地脚本复制到dags文件夹?

分两种场景处理:

场景1:使用Docker Compose启动Airflow(推荐方式)

官方默认的docker-compose.yml已经配置了本地目录与容器DAG目录的挂载,通常格式为:

services:
  webserver:
    volumes:
      - ./dags:/opt/airflow/dags
  scheduler:
    volumes:
      - ./dags:/opt/airflow/dags

只需将本地编写的DAG脚本直接放到当前docker-compose.yml所在目录下的dags文件夹中,容器会自动同步该目录下的文件,无需额外复制命令。

如果你的docker-compose.yml没有配置这个挂载,只需添加上述volumes配置项,然后重启容器:

docker-compose restart webserver scheduler

场景2:手动启动单个Airflow容器

使用docker cp命令直接将本地文件复制到容器内的DAG目录。例如,本地脚本路径为C:\Users\你的用户名\my_dags\test_dag.py,容器名为airflow-webserver,执行以下命令:

docker cp "C:\Users\你的用户名\my_dags\test_dag.py" airflow-webserver:/opt/airflow/dags/

注意:Windows路径若包含空格,需用双引号包裹路径;容器名/ID可通过docker ps查看。

额外提示:查看airflow.cfg的方法

不用安装nano/vim,直接通过cat命令在容器外查看配置文件内容:

docker exec <容器名/ID> cat /opt/airflow/airflow.cfg | grep dags_folder

可以快速定位dags_folder的具体路径,确认目标目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 12:45:42