前言
操作系统 Mac OS:10.15.7
docker desktop:3.6.0
安装步骤
1. 下载镜像
$ docker pull puckel/docker-airflow

2. 创建挂载目录
先理解下面两个问题
1 什么是挂载目录呢?
就是在本地目录中的一个普通目录,只不过允许容器读写这个目录
2 为什么需要挂载目录?
由于容器会挂掉、重启等操作,挂载目录可以保存一些容器运行中持有的数据,这样在容器重后不会导致数据丢失。
一个常见的情况就是,存放配置文件,这样不需要在容器每次重启时再配置一遍了。
说明:我个人习惯是在用户目录(niziheng)下创建一个名为software的目录,用来存放我安装的各种软件,方便以后查找。
例如我把airflow的目录放在sorfware中,那么airflow的根路径就是: "/Users/niziheng/software/airflow"
2.1 在airflow根目录中创建data目录,用于存放airflow容器的数据文件。
$ mkdir -p /Users/niziheng/software/airflow/data
2.2 修改data目录的权限,以免容器无法读写data目录
$ chmod -R 777 /Users/niziheng/software/airflow
3. 启动airflow容器
执行如下命令:
$ docker run \
-itd
-p 8080:8080
-v /Users/niziheng/software/airflow/data:/usr/local/airflow
-v /etc/localtime:/etc/localtime
--restart always
--privileged=true
--name airflow
puckel/docker-airflow
参数说明:
可以参考这个网址: docker run 的常用参数用法
4. 检查容器是否启动成功
$ docker ps

5. 初始化airflow应用程序
由于airflow应用程序需要初始化数据库,用以记录调度配置等信息,所以需要进入容器内容执行一些初始化命令。
5.1 进入airflow容器
$ docker exec -it airflow bash
5.2 初始化数据库
(container)$ airflow initdb

5.3 安装python所需依赖包
需要安装pymysql,clickhouse_driver这两个数据库驱动。
(container)$ pip install pymysql clickhouse_dirver

5.4 启动airflow应用程序
(container)$ nohup airflow scheduler >>airflow-scheduler.log 2>& 1 &
5.5 退出容器
(container)$ exit
6. 检查airflow应用程序是否启动成功
airflow提供了web可视化页面,打开浏览器输入如下地址查看:

如果你在自己的浏览器中看到上面图片中的内容,恭喜你,安装成功了。
网友评论