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环境,您可以根据需要进一步定制。

相关推荐
大树887 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠7 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质7 小时前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工8 小时前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
Alsn868 小时前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
酣大智9 小时前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_9 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
施努卡机器视觉10 小时前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造
AC赳赳老秦11 小时前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw
2601_9618752411 小时前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant