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