修改配置后Airflow scheduler容器无法启动,求助恢复auth_backend配置
解决Airflow Scheduler容器启动失败并恢复auth_backend配置
核心问题原因
你配置的airflow.api.auth.backend.basic_auth模块在当前Bitnami Airflow镜像中不存在,导致容器启动时触发导入错误,进而退出。只需将配置改回默认的deny_all即可恢复容器运行,以下是具体操作方法:
方法1:通过docker cp复制配置文件修改
- 查看已停止的容器信息,确认容器名称/ID:
docker ps -a - 将容器内的
airflow.cfg复制到宿主机:docker cp airflow-scheduler:/opt/bitnami/airflow/airflow.cfg ./airflow.cfg - 在宿主机编辑该文件,找到
[api]区块,修改配置:[api] auth_backend=airflow.api.auth.backend.deny_all - 将修改后的文件复制回容器:
docker cp ./airflow.cfg airflow-scheduler:/opt/bitnami/airflow/airflow.cfg - 启动容器:
docker start airflow-scheduler
方法2:启动临时容器挂载原容器文件系统修改
- 启动临时交互容器,挂载目标容器的文件系统:
docker run -it --volumes-from airflow-scheduler --entrypoint /bin/bash bitnami/airflow-scheduler - 在临时容器内编辑配置文件:
找到vi /opt/bitnami/airflow/airflow.cfg[api]区块,将auth_backend值改为airflow.api.auth.backend.deny_all,保存退出。 - 退出临时容器,启动原Airflow scheduler容器:
docker start airflow-scheduler
方法3:若配置文件通过宿主机Volume挂载
如果启动容器时使用了Volume挂载/opt/bitnami/airflow目录到宿主机,直接找到宿主机上对应的挂载路径,编辑airflow.cfg文件修改[api]区块的auth_backend配置,之后启动容器即可。
内容的提问来源于stack exchange,提问作者Kelvin Chow
相关产品推荐
相关产品推荐

