执行git pull更新Superset后docker-compose up,访问localhost:8088出现404错误
解决Superset拉取最新代码后Docker启动访问404的问题
以下是针对werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on the server报错的排查和解决步骤:
1. 重新构建前端静态资源
Superset更新代码后,前端资源可能需重新编译,容器默认启动流程可能未触发该步骤:
- 停止当前运行的容器:
docker-compose down - 删除旧静态资源卷(避免缓存干扰):
docker-compose down -v - 手动触发前端构建并重启服务:
docker-compose run --rm superset bash -c "npm install && npm run build" docker-compose up -d
2. 确认容器初始化任务完成
检查Superset容器日志,确认数据库迁移、权限初始化等关键步骤是否执行完毕:
docker-compose logs superset
若日志中未出现Finished running migrations或Superset is running类提示,手动执行初始化:
docker-compose run --rm superset superset db upgrade docker-compose run --rm superset superset init docker-compose up -d
3. 清理Docker缓存并重构镜像
旧镜像可能缓存了旧代码,导致新代码未生效:
docker-compose build --no-cache superset docker-compose up -d
4. 排查端口冲突(可选)
虽报错为404,但仍需确认本地8088端口是否被占用:
# Linux/macOS lsof -i :8088 # Windows netstat -ano | findstr :8088
若有占用,停止对应服务,或修改docker-compose.yml中的端口映射(如改为8089:8088)后重启。
内容的提问来源于stack exchange,提问作者Jas
相关产品推荐
相关产品推荐

