首页
/ Docker-Airflow 开源项目教程

Docker-Airflow 开源项目教程

2024-08-10 22:33:44作者:咎岭娴Homer

1. 项目目录结构及介绍

.
├── airflow           # Airflow 的工作目录,包含了dag等文件
│   ├── dag            # 存放DAG文件的地方
│   └── plugins        # 自定义插件存放处
├── docker-compose.yaml  # Docker Compose 文件,用于启动多个服务容器
├── env.sh              # 环境变量配置脚本
├── LICENSE             # 许可证文件
└── README.md           # 项目说明文件
  • airflow: 主要的Airflow工作目录,包括DAG文件和可能的自定义插件。
  • docker-compose.yaml: 使用Docker Compose配置的服务容器集合,包括Web服务器、Worker、花瓶(Flower)等组件。
  • env.sh: 项目环境变量设置,影响容器的运行配置。
  • LICENSE: 项目使用的许可证类型。
  • README.md: 对项目的基本介绍和快速入门指南。

2. 项目的启动文件介绍

docker-compose.yaml

这个文件是使用Docker Compose来启动整个Airflow环境的核心。它定义了各个服务(如webserver、worker、scheduler等)的配置,包括镜像版本、端口映射、数据卷挂载以及环境变量设置。例如:

services:
  webserver:
    image: puckel/docker-airflow:1.10.9
    environment:
      - LOAD_EXAMPLES=False
    volumes:
      - ./dags:/usr/local/airflow/dags
    ports:
      - "8080:8080"
    command: ["webserver"]

这里的webserver服务使用了puckel/docker-airflow的1.10.9版本镜像,设置了不加载示例DAGs,挂载本地的dags目录到容器中的/usr/local/airflow/dags,暴露8080端口并运行webserver命令。

3. 项目的配置文件介绍

  • env.sh: 这个脚本主要用于设定项目运行时的环境变量,可以覆盖Docker Compose文件中定义的部分默认值。例如,你可以在这里设置Airflow的数据库连接字符串、AIRFLOW_HOME路径等。在启动项目之前,通常需要执行此脚本来将这些变量导入当前shell。
export AIRFLOW_HOME=~/airflow
export AIRFLOW_DATABASE_USER=airflow
export AIRFLOW_DATABASE_PASSWORD=airflow
# 更多环境变量...

以上命令将把AIRFLOW_HOMEAIRFLOW_DATABASE_USERAIRFLOW_DATABASE_PASSWORD等环境变量设置为相应的值。在启动项目前,通过. ./env.shsource ./env.sh引入这些变量。

要启动整个Airflow环境,只需在项目根目录下运行以下命令:

$ source env.sh
$ docker-compose up

这将会拉取必要的Docker镜像,创建并启动所有指定的服务,包括Web服务器、Worker等,你可以通过访问http://localhost:8080 来查看Airflow Web UI。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
471
466
kernelkernel
deepin linux kernel
C
32
16
atomcodeatomcode
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get Started
Rust
2.09 K
218
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
700
1.4 K
docsdocs
暂无描述
Dockerfile
780
5.08 K
pytorchpytorch
Ascend Extension for PyTorch
Python
758
968
flutter_flutterflutter_flutter
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.04 K
272
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
880
2.02 K
mindquantummindquantum
MindQuantum is a general software library supporting the development of applications for quantum computation.
Python
183
112
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.11 K
682