airflow docker撰写权限的铁路超高初始化数据库被拒绝

airflow docker撰写权限的铁路超高初始化数据库被拒绝,airflow,Airflow,我正在尝试从主气流网站运行docker compose文件,当我尝试执行docker compose up airflow init时,它失败并给出: airflow-init_1 | with open(AIRFLOW_CONFIG, 'w') as file: airflow-init_1 | PermissionError: [Errno 13] Permission denied: '/opt/airflow/airflow.cfg' 大多数服务都显示了

我正在尝试从主气流网站运行docker compose文件,当我尝试执行
docker compose up airflow init
时,它失败并给出:

airflow-init_1       |     with open(AIRFLOW_CONFIG, 'w') as file:
airflow-init_1       | PermissionError: [Errno 13] Permission denied: '/opt/airflow/airflow.cfg'
大多数服务都显示了相同的错误,例如
flower\u 1、airflow-webserver\u 1、airflow-worker\u 1和airflow-scheduler\u 1
。它达到最多20人退休并放弃

我试图在
aiffair.cfg
所在的目录下执行
chmod-R 777
,但出现了相同的错误。在docker-compose.yml文件中,我有:

volumes:
  - ./airflow.cfg:/opt/airflow/airflow.cfg
我尝试不安装
aiffort.cfg
文件,但现在我收到以下消息:

 ValueError: Unable to configure handler 'processor': [Errno 13] Permission denied: '/opt/airflow/logs/scheduler'
我检查了目录权限,它看起来是这样的:
drwxrwx


我不知道还能尝试什么。我正在运行RHEL虚拟机。谢谢你的帮助。谢谢。

检查与docker compose文件位于同一级别的
.env
文件,您应该声明以下变量:

AIRFLOW_UID=1000
AIRFLOW_GID=0`
每个变量的编号必须与您运行的操作系统的用户id和组id相对应。在终端中,运行以下命令:

echo-e“气流\u UID=$(id-u)\nAIRFLOW\u GID=0”

然后更新
.env
文件中的值

此外,您应该检查根文件夹中的每个文件夹和文件是否具有与所有者相同的用户,如果没有,请通过运行
chown-r your_user:your_group
对其进行更改


来源。让我知道这是否对您有效

我在挂载的末尾添加了
:z
,如:

volumes:
    - ./dags:/opt/airflow/dags:z
    - ./logs:/opt/airflow/logs:z
    - ./plugins:/opt/airflow/plugins:z

如图所示,它神奇地工作。我不知道
:z
是什么意思,直到我找到了另一个解释它的意思。

hi@NicoE,谢谢你的建议。我确实在网站上遵循了这些步骤。因此,我确实有
.env
,它的内容是
气流\u UID=$(id-u)\nAIRFLOW\u GID=0
。我还尝试了
chown-r$(whoami):$(id-g)
,但仍然遇到相同的错误。