Apache Superset 使用 Docker Compose 部署指南
前言
Apache Superset 是一款现代化的企业级商业智能(BI)平台,它提供了直观的数据可视化和探索功能。对于开发者而言,使用 Docker Compose 是快速搭建 Superset 开发环境的最佳选择。本文将详细介绍如何使用 Docker Compose 部署 Apache Superset,并针对不同使用场景提供多种配置方案。
环境准备
在开始之前,请确保您的系统满足以下基本要求:
- 操作系统:Linux 或 Mac OSX(Windows 系统无官方支持)
- 已安装 Docker 引擎
- 已安装 Git 版本控制工具
Docker Compose 部署方案
Apache Superset 提供了三种主要的 Docker Compose 部署方式,适用于不同场景:
1. 开发环境模式(交互式开发)
docker compose up --build
特点:
- 实时同步本地代码变更
- 适合开发者修改和调试代码
- 前端资源会自动重新编译
优化建议:
- 如果本地内存不足16GB,建议设置环境变量
BUILD_SUPERSET_FRONTEND_IN_DOCKER=false
,然后在本地运行npm i && npm run dev
以提高性能 - 遇到前端构建问题时,可设置
NPM_RUN_PRUNE=true
清理 npm 缓存
2. 非开发模式(基于本地分支构建)
docker compose -f docker-compose-non-dev.yml up
特点:
- 基于当前分支代码构建不可变镜像
- 启动后代码变更不会自动生效
- 适合测试本地修改后的完整功能
3. 官方发布版本模式
export TAG=3.1.1
docker compose -f docker-compose-image-tag.yml up
特点:
- 使用官方发布的 Docker 镜像
- 完全独立于本地代码环境
- 适合快速体验特定版本功能
重要注意事项
-
生产环境警告:Docker Compose 设计用于单机环境,不支持高可用性需求,不推荐用于生产环境。
-
数据持久化:默认配置下,所有数据存储在 PostgreSQL 的 Docker 卷中,请确保定期备份重要数据。
-
性能考虑:首次启动时会加载示例数据(可通过设置
SUPERSET_LOAD_EXAMPLES=false
禁用),这可能需要几分钟时间和较多CPU资源。
配置自定义
环境变量配置
通过修改 docker/.env-local
文件可以覆盖默认配置,此文件已被 Git 忽略,不会提交敏感信息。
Python 包扩展
如需安装额外的 Python 包,可以通过修改 docker/requirements-local.txt
文件实现。
数据库连接配置
Superset 运行在 Docker 容器中时,连接本地数据库需注意:
- 配置本地数据库接受来自 Docker 网络的连接
- 使用特殊主机名连接:
- Mac/Ubuntu:
host.docker.internal
- Linux:
172.18.0.1
或docker0
接口的IP地址
- Mac/Ubuntu:
首次使用指南
- 访问地址:
http://localhost:8088
- 默认登录凭证:
- 用户名:admin
- 密码:admin
常见问题解决
- 前端加载缓慢:检查内存是否充足,考虑在本地运行前端构建
- 数据库连接失败:确认使用了正确的主机名和网络配置
- 代码变更不生效:确认使用了正确的 Compose 文件(开发模式使用默认 docker-compose.yml)
结语
通过 Docker Compose 部署 Apache Superset 是开发者快速上手的最佳选择。根据您的具体需求选择合适的部署模式,并注意生产环境的使用限制。希望本指南能帮助您顺利搭建 Superset 环境,开始您的数据可视化之旅。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考