Docker Compose安装和部署Airflow

要在Docker中安装和部署Airflow,您可以按照以下步骤进行。Airflow是一个流行的工作流管理工具,使用Docker可以轻松设置和运行Airflow环境。

1. 安装Docker和Docker Compose

首先,确保您的系统上已经安装了Docker和Docker Compose。如果没有,请参照官方指南安装:

2. 创建Airflow项目目录

创建一个用于存放Airflow相关文件的目录:

bash 复制代码
mkdir airflow-docker
cd airflow-docker

3. 创建Docker Compose文件

airflow-docker目录下创建一个docker-compose.yml文件,并将以下内容复制到文件中:

yaml 复制代码
version: '3.8'
services:
  airflow-db:
    image: postgres:13
    environment:
      POSTGRES_USER: airflow
      POSTGRES_PASSWORD: airflow
      POSTGRES_DB: airflow
    volumes:
      - postgres_data:/var/lib/postgresql/data

  airflow-webserver:
    image: apache/airflow:2.6.1
    restart: always
    depends_on:
      - airflow-db
    environment:
      AIRFLOW__CORE__EXECUTOR: LocalExecutor
      AIRFLOW__CORE__SQL_ALCHEMY_CONN: postgresql+psycopg2://airflow:airflow@airflow-db/airflow
      AIRFLOW__CORE__FERNET_KEY: ''
      AIRFLOW__CORE__LOAD_EXAMPLES: 'true'
    volumes:
      - ./dags:/opt/airflow/dags
    ports:
      - "8080:8080"
    command: webserver

  airflow-scheduler:
    image: apache/airflow:2.6.1
    restart: always
    depends_on:
      - airflow-db
      - airflow-webserver
    environment:
      AIRFLOW__CORE__EXECUTOR: LocalExecutor
      AIRFLOW__CORE__SQL_ALCHEMY_CONN: postgresql+psycopg2://airflow:airflow@airflow-db/airflow
      AIRFLOW__CORE__FERNET_KEY: ''
    volumes:
      - ./dags:/opt/airflow/dags
    command: scheduler

volumes:
  postgres_data:

4. 初始化Airflow元数据数据库

在启动Airflow之前,您需要初始化Airflow的元数据数据库。运行以下命令:

bash 复制代码
docker-compose up airflow-webserver airflow-scheduler

在服务启动后按 Ctrl+C 停止服务,然后运行数据库初始化命令:

bash 复制代码
docker-compose run airflow-webserver airflow db init

5. 启动Airflow

初始化完成后,使用以下命令启动Airflow服务:

bash 复制代码
docker-compose up -d

6. 访问Airflow Web UI

Airflow Web UI默认运行在8080端口。您可以通过浏览器访问:http://localhost:8080

默认用户名和密码可以在启动后通过Airflow CLI进行设置。

7. 使用Airflow

您现在可以在dags目录下添加DAG文件,Airflow会自动检测并显示在Web UI中。

8. 停止和清理

要停止Airflow服务,运行:

bash 复制代码
docker-compose down

要清理数据卷和容器,运行:

bash 复制代码
docker-compose down --volumes --remove-orphans

这个配置提供了一个基本的Airflow环境,您可以根据需要进一步定制。

相关推荐
☆凡尘清心☆13 分钟前
CentOS Stream 9 源码编译搭建 Zabbix7.0.29 完整部署方案(部署成功)
linux·运维·centos
予昊25 分钟前
Linux 资源控制实战分析:用 LXC 亲手造一个 “迷你虚拟机“
linux·运维·服务器
xiaoxiangsiyan35 分钟前
RHCE之2026年全套考点详解
运维·前端·网络·chrome·学习·rhce
love530love35 分钟前
彻底清理 Windows 右键“打开方式“中的重复/失效程序项(PyCharm 多版本残留实战 + 自动化脚本)
运维·人工智能·windows·pycharm·jetbrains·toolbox
zhexunnb1 小时前
SAP赋能芯片封装行业,打造封测企业全链路数字化底座
运维
蓝速科技1 小时前
蓝速科技会议预约屏深度评测:为何安卓系统是智慧办公长期最优解
运维·人工智能·科技
2401_834636991 小时前
保姆级 K8s 运维:RBAC 认证 + Dashboard+Local/NFS 动态卷实战
运维·容器·kubernetes
hyf3266331 小时前
低成本站群泛程序部署:单服务器托管百站稳定运行教程
运维·服务器·前端·搜索引擎·蜘蛛池
wsad05321 小时前
CentOS 10 上使用 Docker Compose 部署 Discuz X5.0 论坛完整教程
linux·docker·centos·discuz
小此方1 小时前
Re:Linux系统篇(五十六)线程篇 · 九:基于阻塞队列的生产者消费者模型与条件变量
linux·运维·服务器