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

相关推荐
少妇的美梦1 小时前
logstash教程
运维
容器魔方1 小时前
Bloomberg 正式加入 Karmada 用户组!
云原生·容器·云计算
chen9452 小时前
k8s集群部署vector日志采集器
运维
chen9452 小时前
aws ec2部署harbor,使用s3存储
运维
muyun28007 小时前
Docker 下部署 Elasticsearch 8 并集成 Kibana 和 IK 分词器
elasticsearch·docker·容器
東雪蓮☆7 小时前
深入理解 LVS-DR 模式与 Keepalived 高可用集群
linux·运维·服务器·lvs
qq_264220897 小时前
LVS负载均衡群集和LVS+Keepalived群集
运维·负载均衡·lvs
乌萨奇也要立志学C++7 小时前
【Linux】进程概念(二):进程查看与 fork 初探
linux·运维·服务器
雨落Liy7 小时前
Nginx 从入门到进阶:反向代理、负载均衡与高性能实战指南
运维·nginx·负载均衡
Nazi67 小时前
k8s的dashboard
云原生·容器·kubernetes