Apache Superset(Docker Compose)自定义配置文件存储路径咨询
Apache Superset Docker Compose 自定义配置挂载问题
1. 宿主机路径选择要求
宿主机路径没有强制限制,只要满足两个基础条件:
- 路径在宿主机上真实存在,且Docker进程对该路径有读权限(如果需要修改配置则需读写权限)
- 避开Docker系统敏感路径(比如
/var/lib/docker),普通自定义路径都没问题
2. 挂载/mysupersetconfig/到容器内/config路径是否可行?
完全可行,但必须配合环境变量指定配置文件位置。默认情况下Superset会加载/app/superset/config.py,如果把自定义配置挂载到容器的/config目录,你需要在docker-compose.yml的Superset服务中添加环境变量,明确告诉Superset加载自定义配置:
services: superset: # 其他配置... environment: - SUPERSET_CONFIG_PATH=/config/custom_config.py # 替换成你的自定义配置文件名 volumes: - /mysupersetconfig/:/config/
3. 是否必须挂载到容器的/app路径下?
不是必须的。挂载到/app路径只是利用了Superset的默认配置查找路径,省去了指定环境变量的步骤。如果挂载到/app外的路径,只要通过SUPERSET_CONFIG_PATH环境变量指定配置文件的完整路径,Superset就能正常加载。
4. 之前/app外路径挂载报错的根源
大概率就是这个问题。你挂载了/app外的路径,但没有设置SUPERSET_CONFIG_PATH,Superset依然尝试加载默认的/app/superset/config.py,要么找不到自定义配置,要么因权限问题读取失败,最终导致报错。
解决步骤:
- 确认宿主机
/mysupersetconfig/路径的权限,确保Docker用户能读取该路径下的配置文件 - 在
docker-compose.yml中为Superset服务添加SUPERSET_CONFIG_PATH环境变量,指向容器内自定义配置文件的完整路径
内容的提问来源于stack exchange,提问作者Daniel Rosehill
相关产品推荐
相关产品推荐

