手把手教你:Windows + Docker 搭建 Apache Superset 本地可视化平台
一、环境准备
已安装Docker或Docker Desktop
已安装Python及配置好环境变量
二、部署Apache Superset
(一)拉取Superset的Docker镜像
打开 PowerShell 直接运行:
docker pull apache/superset:6.0.0
(二)运行Superset容器
创建以下文件夹及文件:
D:\Docker\docker_volumes\superset_data:本地挂载容器内 Superset 的工作目录
D:\Docker\superset\superset_config.py:本地挂载Superset配置文件
D:\Docker\superset\translations\zh\LC_MESSAGES:挂载汉化文件
打开 PowerShell或CMD,执行命令:
docker run -d -p 8088:8088
--name my-superset
-e SUPERSET_SECRET_KEY=123456
-v D:\Docker\docker_volumes\superset_data:/app/superset_home
-v D:\Docker\superset\superset_config.py:/app/pythonpath/superset_config.py
-v D:\Docker\superset\translations:/app/superset/translations
apache/superset:6.0.0
参数说明:
-e SUPERSET_SECRET_KEY:必须配置, 否则无法启动, 这个密钥会用来签名 cookie 和加密 Superset 存储在数据库中的敏感数据;
-v D:\Docker\docker_volumes\superset_data:/app/superset_home:存你的图表、仪表盘、数据(持久化);
-v D:\Docker\superset\superset_config.py:/app/pythonpath/superset_config.py:配置文件(数据库、中文、安全);
-v D:\Docker\superset\translations:/app/superset/translations:装中文语言包,只用挂载到transations目录即可。
(三)初始化数据库
在首次运行Superset容器时,你需要初始化数据库。为此,你需要进入容器的命令行界面,并执行初始化脚本。首先,使用以下命令进入容器:
docker exec -it my-superset bash
然后,在容器内部,运行初始化数据库的命令:
# 初始化数据库
superset db upgrade
作用:创建数据库表结构
(四)创建管理员用户
初始化数据库后,你需要创建一个管理员用户。同样在容器的命令行界面中,运行以下命令来创建一个用户:
# 创建管理员(会让你输入用户名、密码、邮箱)
superset fab create-admin
按顺序输入用户名、邮箱及密码。

作用:创建管理员账号
(五)初始化基础数据
创建管理员用户后,你需要初始化基础数据。同样在容器的命令行界面中,运行以下命令来初始化基础数据:
# 初始化权限、菜单
superset init
作用:初始化基础数据,否则登录之后无法使用
(六)删除容器
# 删容器,保留数据卷
docker rm -f my-superset
# 删容器 + 删数据卷(清空)
docker rm -f -v my-superset
三、初次访问
通过浏览器访问http://localhost:8088来查看Superset的Web界面

点击登录按钮。

四、常见问题
(一)如何汉化Superset?
1.下载po文件
下载Superset的官方压缩包,找到superset/translations/zh/LC_MESSAGES下的messages.po文件,复制到本地superset/translations/zh/LC_MESSAGES下。
2.安装编译工具
打开 PowerShell或CMD,执行命令:
pip install Babel
3.编译po文件
同时在 PowerShell或CMD内,切换到本地superset/translations/zh/LC_MESSAGES目录下,执行命令:
pybabel compile -i messages.po -o messages.mo
参数说明:
pybabel:一个翻译工具,负责处理 .po 和 .mo 文件
compile:把 .po → 变成 .mo
-l:翻译文件
-o:输出到哪里
po = 人看的翻译文件
mo = 程序看的翻译文件
这条命令 = 把 po 变成 mo
注意:messages.po和messages.mo文件必须放到本地的superset\translations\zh\LC_MESSAGES中。
4.配置superset_confg.py
找到本地创建好的superset_config.py文件,编辑superset_config.py,增加下边内容:
LANGUAGES = {
"en": {"flag": "us", "name": "English"},
"zh": {"flag": "cn", "name": "简体中文"},
}
主要目的是页面中将语言配置入口打开。

关键说明:
必须挂载本地 superset_config.py 到容器 /app/pythonpath/superset_config.py
例如:D:\Docker\superset\superset_config.py:/app/pythonpath/superset_config.py
必须挂载本地mo和po文件到容器/app/superset/translations
例如:D:\Docker\superset\translations:/app/superset/translations
以下为汉化后整体效果图:

以上就是整体部署流程。
更多推荐




所有评论(0)