环境

 系统:Ubuntu 22.04.2 LTS
docker Version:20.10.21
docker-compose version 1.29.2,
python3 --version Python 3.10.6

1、 安装docker

1.1先更新系统

		sudo apt-get update
sudo apt-get upgrade

1.2安装docker:

		apt-get install docker.io

1.3查看docker版本:

		docker version

1.4 将当前用户加入docker这个group

sudo usermod -aG docker $USER

1.5 验证是否添加成功

groups 或者 id -nG

1.6 重启docker

sudo service docker restart

1.7 验证docker 是否安装成功

docker version 或 docker info
第一个命令“docker version”将列出已安装的Docker版本,以及客户端和服务端的详细信息。如果输出中没有错误,则说明Docker已成功安装。
第二个命令“docker info”将显示有关Docker daemon(Docker守护程序)的详细信息,包括系统信息、容器信息和镜像信息等。同样,如果输出中没有错误,则说明Docker已成功安装。

1.8修改docker配置文件,使得docker能被远程访问

vim /lib/systemd/system/docker.service

修改为

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

1.9重载守护进程以及重启Docker:

sudo systemctl daemon-reload
sudo service docker restart

1.20安装 docker-compose

sudo apt-get install -y docker-compose

验证安装是否成功
docker-compose --version

2.安装 airflow

2.1 新建 airflow 文件夹

设置正确的Airflow用户
在Linux中,需要知道user id 以及设置group id为0,否则在dags、 logs、 plugins中的文件将由root用户创建。这里我们需要配置AIRFLOW_UID mkdir -p /usr/local/airflow
cd /usr/local/airflow
mkdir -p ./dags ./logs ./plugins
echo -e "AIRFLOW_UID=$(id -u)" > .env 备注:
./dags 我们可以将我们写的DAG文件放置到这里。
./logs 存放来源于任务执行器与调度器的日志。
./plugins 存放一些我们自定义的插件。

2.2要在 Docker Compose 上部署 Airflow,

官网上直该获取 docker-compose.yaml。
地址:
curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.6.0/docker-compose.yaml'
备注:如果网络超时就手动下载在上传到服务器 初始化数据库
docker-compose up airflow-init
运行Airflow 启动所有服务 #建议第一次运行时不要加-d,查看日志运行
docker-compose up -d
#Ctrl+C停止,然后重新启动一下
docker-compose down
docker-compose up -d
登录airflow
地址:http://localhost:8080
登录名/密码 :airflow airflow
检查容器状态
docker ps

3 常用命令

启动Airflow服务:     				docker-compose up
后台启动Airflow服务: docker-compose up -d
停止Airflow服务: docker-compose down
列出正在运行的Airflow容器: docker ps
查看镜像 docker images
查看docker状态 sudo systemctl status docker
进入某个Airflow容器的终端: docker exec -it <container_name> bash 备注:<container_name>为容器名或ID
显示Airflow服务的日志: docker-compose logs [-f] [service_name] 备注: -f参数表示实时跟踪日志,service_name参数表示服务名,默认为所有服务。
构建Airflow镜像 docker-compose build
清除未使用的镜像、容器、网络和卷: docker system prune
查看Airflow所在的网络IP地址: docker network inspect airflow-stack_airflow-net | grep Gateway 备注:irflow-stack_airflow-net表示Docker Compose文件中定义的Airflow网络名
docker 保存镜像 docker save -o airflow2.tar apache/airflow:2.6.0
tar 文件导入到另一台机器上 docker load -i airflow2.tar

可以参考文献:

			https://github.com/puckel/docker-airflow
https://blog.csdn.net/qq_35491275/article/details/121981215
https://blog.51cto.com/helpdesk/5651419?articleABtest=1

CSDN 狗都不用的,欢迎各位大佬指点不足支持,一起学习和交流

QQ 897252348

Docker安装Airflow的更多相关文章

  1. 调度系统Airflow1.10.4调研与介绍和docker安装

    Airflow1.10.4介绍与安装 现在是9102年,8月中旬.airflow当前版本是1.10.4. 随着公司调度任务增大,原有的,基于crontab和mysql的任务调度方案已经不太合适了,需要 ...

  2. 在docker容器下安装airflow

    本人的环境是基于centos7下来安装的 一.安装docker  下载docker安装包,下载地址:https://download.docker.com/linux/static/stable/x8 ...

  3. 理解Docker(1):Docker 安装和基础用法

    本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...

  4. docker安装

    系统要求:需要一个64位的centos7操作系统和版本3.10或更高版本的Linux内核 开始安装: uname -r   //查看内核版本yum -y update //更新系统更新到最新 #安装d ...

  5. 2. Docker - 安装

    一.Docker介绍 1. Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上, 也可以实现虚拟化. 容器时完全使用沙 ...

  6. Docker 安装部署

    Docker学习笔记 一.Ubuntu Docker 安装 (1).获取最新版本Docker安装包 lyn@lyn:/data/docker$ sudo wget -qO- https://get.d ...

  7. docker 安装

    Docker使用了一种叫AUFS的文件系统,这种文件系统可以让你一层一层地叠加修改你的文件,最底下的文件系统是只读的,如果需要修改文件,AUFS会增加一个可写的层(Layer),这样有很多好处,例如不 ...

  8. Docker安装及基本使用方法

    Docker安装 CentOS6上安装Docker # yum -y install epel-release # yum -y install docker-io CentOS7上安装Docker ...

  9. Mac 下 docker安装

    http://www.th7.cn/system/mac/201405/56653.shtml Mac 下 docker安装 以及 处理错误Cannot connect to the Docker d ...

  10. docker安装caffe

    [最近一直想要学习caffe,但是苦苦纠结于环境安装不上,真的是第一步都迈不出去,还好有docker的存在!下面,对本人如何利用docker安装caffe做以简单叙述,不属于教程,只是记录自己都做了什 ...

随机推荐

  1. ASP.NET Core - 配置系统之自定义配置提供程序

    4. 自定义配置提供程序 在 .NET Core 配置系统中封装一个配置提供程序关键在于提供相应的 IconfigurationSource 实现和 IConfigurationProvider 接口 ...

  2. Git 仓库7K stars!学Java开源项目austin要多久?

    我是3y,一年CRUD经验用十年的markdown程序员‍常年被誉为职业八股文选手 开源项目消息推送平台austin仓库地址: 消息推送平台推送下发[邮件][短信][微信服务号][微信小程序][企业微 ...

  3. MySQL学习(三)DQL/DML/DDL/DCL 介绍

    参考博客:https://blog.csdn.net/tomatofly/article/details/5949070 DQL(data query language) :数据查询语言 select ...

  4. 开源规则引擎——ice:致力于解决灵活繁复的硬编码问题

    背景介绍 业务中是否写了大量的 if-else?是否受够了这些 if-else 还要经常变动? 业务中是否做了大量抽象,发现新的业务场景还是用不上? 是否各种调研规则引擎,发现不是太重就是接入或维护太 ...

  5. 在windows系统中设置MySQL数据库

    MySQL搭建 效果图 step1:下载安装包 https://downloads.mysql.com/archives/community/ step2:解压后即完成安装 step3:创建 my.i ...

  6. 深入理解 Python 虚拟机:字典(dict)的优化

    深入理解 Python 虚拟机:字典(dict)的优化 在前面的文章当中我们讨论的是 python3 当中早期的内嵌数据结构字典的实现,在本篇文章当中主要介绍在后续对于字典的内存优化. 字典优化 在前 ...

  7. vue中的v-model 与 .sync

    <input v-model="parentData"> //等同于 <input :value="parentData" @input=&q ...

  8. kubernetes(k8s)安装BGP模式calico网络支持IPV4和IPV6

    kubernetes(k8s)安装BGP模式calico网络支持IPV4和IPV6 BGP是互联网上一个核心的去中心化自治路由协议,它通过维护IP路由表或"前缀"表来实现自治系统A ...

  9. [数据分析与可视化] Python绘制数据地图2-GeoPandas地图可视化

    本文主要介绍GeoPandas结合matplotlib实现地图的基础可视化.GeoPandas是一个Python开源项目,旨在提供丰富而简单的地理空间数据处理接口.GeoPandas扩展了Pandas ...

  10. 进程,Process模块,join方法,ipc机制,守护进程

    多道技术: """ 在学习并发编程的过程中 不做刻意提醒的情况下 默认一台计算机就一个CPU(只有一个干活的人) """ 单道技术 所有的程 ...