首页 > 解决方案 > 气流 initdb 在 AIRFLOW_HOME 以外的目录中?

问题描述

Apache Airflow / Docker 用户的问题。我有一个我已经构建的 Docker 气流图像,我正在尝试使用一个简单的 SequentialExecutor / sqlite 元数据数据库,但我想在每次运行新容器时都保留元数据数据库。我想通过安装到本地机器上的驱动器来做到这一点,并让 initdb 在 AIRFLOW_HOME 以外的地方初始化数据库。这是可能的/可配置的,还是有人有更好的解决方案?

基本上期望的状态是:

AIRFLOW_HOME:  contains airflow.cfg, dags, scripts, logs whatever
some_other_dir:  airflow.db

我知道这对日志是可能的,那么为什么不是数据库呢?

谢谢!

标签: databasedockerairflowdocker-volume

解决方案


我认为最好的选择是将 docker-compose 与容器一起用作元数据数据库,如下所示: https ://github.com/apache/airflow/issues/8605#issuecomment-623182960

我将这种方法与 git 分支一起使用,并且效果很好。除非您明确删除容器,否则数据将持续存在make rm


推荐阅读