基于Docker Compose部署自定义Apache Superset生产环境遇错求助
Apache Superset自定义镜像启动失败(exit 137)排查方案
问题背景
我们是小型企业,熟悉Docker但无精力学习Kubernetes,需在单服务器部署带自定义前后端代码修改的Apache Superset生产环境,对接外部PostgreSQL实例。执行以下操作后启动失败:
- 克隆源码并构建镜像:
git clone https://github.com/apache/superset.git docker build -t superset:latest . - 修改
docker-compose-image-tag.yml指向自建镜像后启动:docker compose -f docker-compose-image-tag.yml up
错误日志
启动时输出如下错误:
superset_init | Installed 1 package in 2ms superset_init | ~ apache-superset==0.0.0.dev0 (from file:///app) superset_init | Skipping local overrides superset_init | Unknown Operation!!! superset_init | ###################################################################### superset_init | Init Step 1/4 [Starting] -- Applying DB migrations superset_init | ###################################################################### Gracefully stopping... (press Ctrl+C again to force) service "superset-init" didn't complete successfully: exit 137
排查与修复方案
1. 优先解决内存不足问题(exit 137核心诱因)
exit 137是容器被内核OOM Killer强制终止的典型标志,Superset初始化(尤其是数据库迁移阶段)需要足够内存:
- 检查服务器实时内存占用:
free -h - 为
superset-init服务增加内存配额(修改docker-compose-image-tag.yml):services: superset-init: deploy: resources: limits: memory: 4G reservations: memory: 2G - 若使用Docker Desktop,直接在设置中调整Daemon内存分配;Linux环境修改
/etc/docker/daemon.json后重启Docker服务。
2. 验证自定义镜像构建完整性
- 重新构建镜像并查看完整日志,确保前端编译、依赖安装无报错:
docker build --progress=plain -t superset:latest . - 镜像内验证Superset版本,若显示
0.0.0.dev0说明版本信息打包异常,需检查源码目录是否有文件损坏:docker run --rm superset:latest superset version
3. 修正初始化命令配置
Unknown Operation!!!提示初始化脚本无法识别当前操作:
- 确认
docker-compose-image-tag.yml中superset-init的命令配置正确:superset-init: command: ["superset", "init"] - 若自定义了初始化脚本,确保脚本内命令合法,且镜像已包含对应执行环境。
4. 验证外部PostgreSQL连通性
- 测试容器与外部PostgreSQL实例的网络连通性:
docker run --rm superset:latest ping <POSTGRESQL_HOST> docker run --rm superset:latest psql -h <POSTGRESQL_HOST> -U <USER> -d <DB_NAME> - 检查
docker-compose-image-tag.yml中数据库连接配置是否正确:environment: SQLALCHEMY_DATABASE_URI: postgresql://<USER>:<PASSWORD>@<HOST>:<PORT>/<DB_NAME>
内容的提问来源于stack exchange,提问作者Kanagavelu Sugumar
相关产品推荐
相关产品推荐

