您的位置:首页 > 汽车 > 新车 > Docker Compose安装和部署Airflow

Docker Compose安装和部署Airflow

2024/9/15 23:04:13 来源:https://blog.csdn.net/jixiaoyu0209/article/details/141352032  浏览:    关键词:Docker Compose安装和部署Airflow

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

1. 安装Docker和Docker Compose

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

  • Docker
  • Docker Compose

2. 创建Airflow项目目录

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

mkdir airflow-docker
cd airflow-docker

3. 创建Docker Compose文件

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

version: '3.8'
services:airflow-db:image: postgres:13environment:POSTGRES_USER: airflowPOSTGRES_PASSWORD: airflowPOSTGRES_DB: airflowvolumes:- postgres_data:/var/lib/postgresql/dataairflow-webserver:image: apache/airflow:2.6.1restart: alwaysdepends_on:- airflow-dbenvironment:AIRFLOW__CORE__EXECUTOR: LocalExecutorAIRFLOW__CORE__SQL_ALCHEMY_CONN: postgresql+psycopg2://airflow:airflow@airflow-db/airflowAIRFLOW__CORE__FERNET_KEY: ''AIRFLOW__CORE__LOAD_EXAMPLES: 'true'volumes:- ./dags:/opt/airflow/dagsports:- "8080:8080"command: webserverairflow-scheduler:image: apache/airflow:2.6.1restart: alwaysdepends_on:- airflow-db- airflow-webserverenvironment:AIRFLOW__CORE__EXECUTOR: LocalExecutorAIRFLOW__CORE__SQL_ALCHEMY_CONN: postgresql+psycopg2://airflow:airflow@airflow-db/airflowAIRFLOW__CORE__FERNET_KEY: ''volumes:- ./dags:/opt/airflow/dagscommand: schedulervolumes:postgres_data:

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

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

docker-compose up airflow-webserver airflow-scheduler

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

docker-compose run airflow-webserver airflow db init

5. 启动Airflow

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

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服务,运行:

docker-compose down

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

docker-compose down --volumes --remove-orphans

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com