001-使用docker安装airflow

前言

操作系统 Mac OS:10.15.7
docker desktop:3.6.0

安装步骤

1. 下载镜像

$ docker pull puckel/docker-airflow

image.png

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

image.png

5. 初始化airflow应用程序

由于airflow应用程序需要初始化数据库,用以记录调度配置等信息,所以需要进入容器内容执行一些初始化命令。

5.1 进入airflow容器

$ docker exec -it airflow bash

5.2 初始化数据库

(container)$ airflow initdb

image.png

5.3 安装python所需依赖包
需要安装pymysql,clickhouse_driver这两个数据库驱动。

(container)$ pip install pymysql clickhouse_dirver

image.png

5.4 启动airflow应用程序

(container)$ nohup airflow scheduler >>airflow-scheduler.log 2>& 1 &

5.5 退出容器

(container)$ exit

6. 检查airflow应用程序是否启动成功

airflow提供了web可视化页面,打开浏览器输入如下地址查看:

http://localhost:8080/

image.png

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

你可能感兴趣的:(001-使用docker安装airflow)