Docker compose 没有名为';气流';初始化Apache docker时

Docker compose 没有名为';气流';初始化Apache docker时,docker-compose,airflow,Docker Compose,Airflow,我试图在Centos 7机器上以docker的身份运行apache airflow。 我遵循了这里的所有说明: 当我试图通过运行docker compose up init初始化docker时 我得到了这个错误 [root@centos7 centos]# docker-compose up airflow-init Creating network "centos_default" with the default driver Creating volume "

我试图在Centos 7机器上以docker的身份运行apache airflow。 我遵循了这里的所有说明: 当我试图通过运行docker compose up init初始化docker时

我得到了这个错误

[root@centos7 centos]# docker-compose up airflow-init
Creating network "centos_default" with the default driver
Creating volume "centos_postgres-db-volume" with default driver
Creating centos_redis_1    ... done
Creating centos_postgres_1 ... done
Creating centos_airflow-init_1 ... done
Attaching to centos_airflow-init_1
airflow-init_1       | BACKEND=postgresql+psycopg2
airflow-init_1       | DB_HOST=postgres
airflow-init_1       | DB_PORT=5432
airflow-init_1       |
airflow-init_1       | Traceback (most recent call last):
airflow-init_1       |   File "/home/airflow/.local/bin/airflow", line 5, in <module>
airflow-init_1       |     from airflow.__main__ import main
airflow-init_1       | ModuleNotFoundError: No module named 'airflow'
airflow-init_1       | Traceback (most recent call last):
airflow-init_1       |   File "/home/airflow/.local/bin/airflow", line 5, in <module>
airflow-init_1       |     from airflow.__main__ import main
airflow-init_1       | ModuleNotFoundError: No module named 'airflow'
airflow-init_1       | Traceback (most recent call last):
airflow-init_1       |   File "/home/airflow/.local/bin/airflow", line 5, in <module>
airflow-init_1       |     from airflow.__main__ import main
airflow-init_1       | ModuleNotFoundError: No module named 'airflow'
airflow-init_1       | Traceback (most recent call last):
airflow-init_1       |   File "/home/airflow/.local/bin/airflow", line 5, in <module>
airflow-init_1       |     from airflow.__main__ import main
airflow-init_1       | ModuleNotFoundError: No module named 'airflow'
airflow-init_1       | Traceback (most recent call last):
airflow-init_1       |   File "/home/airflow/.local/bin/airflow", line 5, in <module>
airflow-init_1       |     from airflow.__main__ import main
airflow-init_1       | ModuleNotFoundError: No module named 'airflow'
centos_airflow-init_1 exited with code 1
[root@centos7centos]#docker合成气流初始
使用默认驱动程序创建网络“centos_default”
使用默认驱动程序创建卷“centos_postgres-db-volume”
正在创建centos_redis_1。。。完成
创建centos_postgres_1。。。完成
正在创建centos_airflow-init_1。。。完成
连接到centos_气流-初始_1
airflow-init_1 | BACKEND=postgresql+psycopg2
airflow-init_1 | DB_主机=postgres
气流初始1 | DB_端口=5432
气流-初始_1|
airflow-init_1|回溯(最近一次呼叫最后一次):
airflow-init|1 |文件“/home/afflow/.local/bin/afflow”,第5行,in
气流-init_1 |来自气流。__主气流__导入主气流
airflow-init_1 | ModuleNotFoundError:没有名为“airflow”的模块
airflow-init_1|回溯(最近一次呼叫最后一次):
airflow-init|1 |文件“/home/afflow/.local/bin/afflow”,第5行,in
气流-init_1 |来自气流。__主气流__导入主气流
airflow-init_1 | ModuleNotFoundError:没有名为“airflow”的模块
airflow-init_1|回溯(最近一次呼叫最后一次):
airflow-init|1 |文件“/home/afflow/.local/bin/afflow”,第5行,in
气流-init_1 |来自气流。__主气流__导入主气流
airflow-init_1 | ModuleNotFoundError:没有名为“airflow”的模块
airflow-init_1|回溯(最近一次呼叫最后一次):
airflow-init|1 |文件“/home/afflow/.local/bin/afflow”,第5行,in
气流-init_1 |来自气流。__主气流__导入主气流
airflow-init_1 | ModuleNotFoundError:没有名为“airflow”的模块
airflow-init_1|回溯(最近一次呼叫最后一次):
airflow-init|1 |文件“/home/afflow/.local/bin/afflow”,第5行,in
气流-init_1 |来自气流。__主气流__导入主气流
airflow-init_1 | ModuleNotFoundError:没有名为“airflow”的模块
centos_-init_1已退出,代码为1
我在这里使用了标准YAML文件: 我发现这是一个众所周知的问题: 但我不明白如何解决这个问题。 有什么建议吗?

我发现了问题。 版本2.0.1中存在一个错误,不允许您使用root运行气流容器。
您必须使用另一个用户名(使用sudo)运行安装。

如果
文件中未正确设置
气流_GID
,则可能发生这种情况

这些说明包括运行命令
echo-e“aiffort\u UID=$(id-u)\nAIRFLOW\u GID=0”>.env
。 要检查是否按预期工作,请运行
cat.env
查看
.env
文件的内容。 您应该看到如下内容:

AIRFLOW_UID=1000
AIRFLOW_GID=0

如果您不这样做,您可能需要手动编辑
.env
文件来设置气流uid和gid。

我这样解决了这个问题

使用非root用户登录

查找您的用户id:

echo $UID
创建.env文件并将这些行放在其中。将4003替换为您的用户id:

AIRFLOW_UID=4003
AIRFLOW_GID=0

如果尚未创建这些目录,请首先创建这些目录并运行docker compose:

sudo mkdir ./dags ./logs ./plugins
sudo chmod 777 -R logs 
sudo docker-compose up airflow-init
sudo docker-compose up 


你能详细介绍一下吗?我看到了bug,并没有以root身份运行。