Docker Compose安装和部署Airflow

news/2024/10/19 6:20:29/

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


http://www.ppmy.cn/news/1512466.html

相关文章

杜占朋人物风采

杜占朋,衡水名校校长,一位荣获全国杰出青年称号的杰出教育家,同时也是全国范围内备受尊崇的红色基因传承者。他以其卓越的学术成就、丰富的实践经验以及不懈的教育创新精神,成为了当代教育领域的璀璨明星。他身兼数职,…

走向绿色:能源新选择,未来更美好

当前,全球范围内可再生能源正经历着从辅助能源向核心能源的深刻转型,绿色能源日益渗透至居住、出行、日常应用等多个领域,深刻影响着我们的生活方式,使我们能够更加充分地体验清洁能源所带来的优质生活。 一、绿色能源与“住” …

第二百零三节 Java正则表达式教程 - Java正则表达式匹配

Java正则表达式教程 - Java正则表达式匹配 Matcher 类对字符序列执行匹配通过解释在 Pattern 对象中定义的编译模式。 Pattern 类的 matcher()方法创建一个实例的 Matcher 类。 import java.util.regex.Matcher; import java.util.regex.Pattern;public class Main {public s…

30道python自动化测试面试题与答案汇总!

Python是不可或缺的语言,它的优美与简洁令人无法自拔,下面这篇文章主要给大家介绍了关于30道python自动化测试面试题与答案汇总的相关资料,需要的朋友可以参考下 1、什么项目适合做自动化测试? 关键字:不变的、重复的、规范的 1)任务测试明…

软件设计师全套备考系列文章6 -- 线性表、栈和队列、串、数组、矩阵、广义表

软考-- 软件设计师(6)-- 线性表、栈和队列、串、数组、矩阵、广义表 文章目录 软考-- 软件设计师(6)-- 线性表、栈和队列、串、数组、矩阵、广义表前言一、线性表二、栈和队列三、串、数组、矩阵、广义表 前言 考试时间&#xff…

二叉树 - 二叉树的层序遍历

二叉树的层序遍历 102. 二叉树的层序遍历 /*** Definition for a binary tree node.* function TreeNode(val, left, right) {* this.val (valundefined ? 0 : val)* this.left (leftundefined ? null : left)* this.right (rightundefined ? null : right)…

基于Django的停车场车辆出入管理系统,可识别车牌图片

研究背景 随着城市化进程的加快,车辆数量不断增加,停车场的管理成为一个日益重要的课题。传统的停车场管理系统依赖人工登记和监控,不仅效率低下,而且容易出现疏漏和错误,难以满足现代社会对停车场管理智能化、高效化…

HTML对信息化大屏的像素适应解决方案autofit.js

在政务信息化过程,各政务机关引入了信息化大屏设备,而大屏的像素设置往往受到安装场地的高宽限制,形成了不规则的像素;而系统软件往往是规则的1920*1080的分辨率;不管大屏怎么分屏显示,都很难占满整个大屏。…