Apache Superset 使用 Docker Compose 部署指南
前言
Apache Superset 是一款现代化的企业级商业智能(BI)工具,它提供了强大的数据可视化和仪表盘功能。对于开发者和数据分析师来说,快速搭建一个本地开发环境至关重要。本文将详细介绍如何使用 Docker Compose 部署 Superset 的三种不同方式,帮助您根据实际需求选择最适合的方案。
Docker Compose 部署方案概述
在开始之前,需要明确 Docker Compose 部署 Superset 的三种主要方式及其适用场景:
- 开发模式(docker-compose.yml):适合需要实时修改代码并立即看到效果的开发者
- 本地构建模式(docker-compose-non-dev.yml):基于当前分支构建不可变镜像,适合测试本地修改
- 官方镜像模式(docker-compose-image-tag.yml):直接使用官方发布的 Docker 镜像,适合快速体验特定版本
系统要求
在开始部署前,请确保您的系统满足以下要求:
- 已安装 Docker 引擎
- 已安装 docker-compose 工具
- 已安装 Git 版本控制系统
- 推荐使用 Linux 或 Mac OSX 系统(Windows 无官方支持)
获取 Superset 源代码
首先需要获取 Superset 的源代码仓库:
git clone --depth=1 https://github.com/apache/superset.git
此命令会创建一个包含最新代码的 superset
目录。
三种部署方式详解
1. 开发模式部署
开发模式适合需要修改 Superset 源代码并实时查看效果的开发者:
docker compose up
重要提示:
- 前端资源构建可能需要较长时间,特别是内存小于16GB的机器
- 可通过设置环境变量
BUILD_SUPERSET_FRONTEND_IN_DOCKER=false
来在本地构建前端资源 - 开发模式下,代码变更会实时反映在运行中的应用中
2. 本地构建模式部署
此模式基于当前分支构建不可变镜像,适合测试本地修改:
docker compose -f docker-compose-non-dev.yml up
特点:
- 构建完成后代码变更不会自动更新
- 需要重新构建镜像才能应用新的修改
3. 官方镜像模式部署
此模式直接使用官方发布的 Docker 镜像:
export TAG=3.1.1
docker compose -f docker-compose-image-tag.yml up
特点:
- 可指定任意已发布的版本号
- 完全独立于本地代码修改
- 适合快速体验特定版本功能
配置与优化建议
环境变量配置
Superset 的 Docker 配置主要通过以下文件管理:
docker/.env
:默认环境变量配置docker/.env-local
:本地覆盖配置(不会被提交到版本控制)
重要配置项:
SUPERSET_LOAD_EXAMPLES
:是否加载示例数据(默认为true)SCARF_ANALYTICS
:是否启用遥测数据收集(可设置为False禁用)
数据库连接配置
在 Docker 环境中连接本地数据库时,需要注意:
- 不能使用
localhost
作为主机名 - Mac/Ubuntu 用户应使用
host.docker.internal
- Linux 用户可能需要使用
172.18.0.1
或通过docker network inspect bridge
查看网关地址
性能优化建议
- 对于开发模式,建议在本地运行前端构建:
cd superset-frontend npm i && npm run dev
- 资源受限的设备可禁用示例数据加载
- 后台运行可添加
-d
参数
访问 Superset
部署完成后,可通过浏览器访问:
http://localhost:8088
默认管理员凭据:
用户名: admin
密码: admin
生产环境警告
重要:Docker Compose 部署方式不适用于生产环境,主要原因包括:
- 元数据数据库默认存储在 Docker 卷中,缺乏备份机制
- 不支持高可用性需求
- 单点故障风险
对于生产环境,建议考虑 Kubernetes 等更健壮的部署方案。
结语
通过 Docker Compose 部署 Apache Superset 是快速搭建开发环境的最佳选择。本文介绍的三种部署方式各有特点,开发者可根据实际需求灵活选择。无论您是希望快速体验 Superset 功能,还是进行深度定制开发,Docker Compose 都能提供便捷的解决方案。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考