环境

 系统: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. Jetson Xavier NX 试玩 (二)

    Jetson Xavier NX 试玩 (二) Hello AI World Inference 人工智能推理模型 0 前言 想玩一玩 jetson 的人工智能功能,官方的 instructional ...

  2. 被冰封的 Bug:Fishhook Crash 修复纪实

    作者:郝连福,业界资深计算机技术专家,现任声网Agora 首席前端架构师.先后担任过 Principal Engineer/Engineering Director(UTStarcom).Sr. ar ...

  3. 2020寒假学习笔记14------Python基础语法学习(三)

    今天学习了Python的基础语法,其中学的内容有: 比较运算符.逻辑运算符.同一运算符.整数缓存问题.基本运算符.复合复制运算符.运算符优先级问题.字符串基本特点.字符串的编码.空字符串和len()函 ...

  4. flutter widget---->Spacer

    如果你想灵活控制Flex容器(Row, Column)中子组件中的间隔,可以考虑使用Spacer.下面以Row为例子,来为它的子组件添加间距. use Spacer import 'package:f ...

  5. 位运算符n&(n-1)详解与妙用

    用处一:求一个int类型数是否为2的幂 1.当n=4时,二进制为:0100 n-1=3,二进制为:0011 则:n&(n-1)==0  解释(将0100最右边的1变为0 则 0000=0) 2 ...

  6. 解决el-checked-group中v-medel绑定的是一个数组对象方法(不用修改源码)

    思路:弃用el-checked-group使用el-checked模拟 <!DOCTYPE html> <html> <head> <meta charset ...

  7. 我没能实现始终在一个线程上运行 task

    前文我们总结了在使用常驻任务实现常驻线程时,应该注意的事项.但是我们最终没有提到如何在处理对于带有异步代码的办法.本篇将接受笔者对于该内容的总结. 如何识别当前代码跑在什么线程上 一切开始之前,我们先 ...

  8. JAVA基础——常用类(一)

     首先认识到--String是不可以变性(final) String:字符串,使用一对""引起来表示.      * 1.String声明为final的,不可被继承      * ...

  9. 系统评价——理想点TOPSIS法的R语言实现(五)

    TOPSIS 法是一种常用的综合评价方法,能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距.TOPSIS全称Technique for Order Preference by Simi ...

  10. GitLab服务器傻瓜式搭建教程

    开始前的准备 需要有一台Linux系统的服务器或虚拟机 QAQ 安装包下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ 注* 本教程无需下载安装 ...