基于官方Airflow docker-compose如何隐藏web端默认DAG
Docker Compose 部署模式下隐藏Airflow默认示例DAG的操作方案
推荐优先使用环境变量配置方案,无需单独挂载修改配置文件,操作更简便:
方案1:通过docker-compose.yml配置环境变量生效
- 打开你部署Airflow使用的
docker-compose.yml文件,找到x-airflow-common下的environment配置段 - 新增如下环境变量配置:
Airflow所有AIRFLOW__CORE__LOAD_EXAMPLES: 'false'airflow.cfg的配置项都支持通过AIRFLOW__<配置段名>__<配置键名>的格式转为环境变量配置,优先级高于本地配置文件。 - 保存修改后的
docker-compose.yml文件 - 停止当前运行的Airflow服务并删除已有的数据卷(必须操作,否则之前已经加载到元数据库的示例DAG仍会显示),执行命令:
docker compose down -v - 重新启动Airflow服务:
docker compose up -d
待服务完全启动后刷新Web界面,默认自带的示例DAG就会被隐藏。
方案2:挂载自定义airflow.cfg文件生效
如果你需要修改大量Airflow配置,也可以直接挂载修改后的配置文件:
- 先从正在运行的Airflow容器中导出默认配置文件到本地,执行命令:
docker cp $(docker ps -q --filter name=airflow-webserver):/opt/airflow/airflow.cfg ./airflow.cfg - 打开本地导出的
airflow.cfg文件,找到[core]配置段下的load_examples参数,将值从True修改为False - 回到
docker-compose.yml文件,找到x-airflow-common下的volumes配置段,新增如下挂载规则:- ./airflow.cfg:/opt/airflow/airflow.cfg - 和方案1一致,执行
docker compose down -v删除旧卷后,运行docker compose up -d重启服务即可生效。
注意:
docker compose down -v会清空当前Airflow的所有元数据,包括已创建的用户账号、DAG运行记录、自定义连接配置等。如果是已经上线的生产环境,请勿加-v参数,可手动进入Airflow元数据库删除所有前缀为example_的DAG记录即可。
内容的提问来源于stack exchange,提问作者TymonHuchla
相关产品推荐
相关产品推荐

