如何用Docker更新Apache Superset?操作后版本未变更求解
Apache Superset Docker版本更新失败问题排查与修复
你的操作核心错误
- 混用
docker run和docker compose命令:你手动用docker run启动了一个独立容器,之后又执行docker compose up,这会导致两种启动方式的容器冲突,且docker compose会优先使用自身配置文件里的镜像,不会自动识别你手动拉取的latest镜像。 - 未检查
docker-compose.yml配置:如果你的配置文件里指定了固定版本(比如apache/superset:2.1.3),哪怕你拉了最新镜像,docker compose还是会启动旧版本容器。 - 数据卷挂载路径错误:
docker run里写的/path/to/superset/data不是Superset容器内的默认数据路径(容器内路径应为/app/superset_home),且这一步完全多余——docker compose会自动管理服务关联的数据卷。
正确的更新流程
- 彻底停止并清理现有服务
docker compose down -v
(-v会清理关联数据卷,若需保留旧数据可去掉,但建议先备份数据再操作)
修改
docker-compose.yml配置
打开配置文件,找到Superset服务的image字段,把固定版本(比如2.1.3)改成apache/superset:latest,确保compose启动时使用最新镜像。拉取最新镜像
docker pull apache/superset:latest
- 启动服务并完成版本适配操作
新版本可能需要更新数据库结构,必须执行以下步骤:
# 后台启动服务 docker compose up -d # 执行数据库迁移 docker compose exec superset superset db upgrade # 初始化Superset(同步权限、角色等) docker compose exec superset superset init
- 验证更新结果
docker compose exec superset superset version
内容的提问来源于stack exchange,提问作者John Doe
相关产品推荐
相关产品推荐

