Docker部署常见应用之Superset
文章目录
- 使用 Docker 部署
- 使用 Docker Compose 部署
- 参考文章

以下是使用 Docker 部署 Superset 并将存储配置为 MySQL 的详细步骤:
使用 Docker 部署
-
获取Superset镜像:
- 使用Docker从官方仓库拉取Superset镜像:
docker pull apache/superset:4.0.0
- 使用Docker从官方仓库拉取Superset镜像:
-
创建 MySQL 数据库:
-
登录到 MySQL 数据库,执行以下命令创建用于 Superset 的数据库和用户:
CREATE USER 'superset'@'%' IDENTIFIED BY 'your_password'; CREATE DATABASE superset; GRANT ALL PRIVILEGES ON superset.* TO 'superset'@'%'; FLUSH PRIVILEGES;
请根据实际情况修改数据库名称、用户名和密码。
-
-
配置 Superset 使用 MySQL:
-
创建一个挂载目录并定义 Superset 的配置文件:
mkdir -p /data/docker/superset/conf touch /data/docker/superset/conf/superset_config.py
-
编辑配置文件
/opt/docker/superset/superset_config.py
,设置 Superset 使用 MySQL 数据库:SQLALCHEMY_DATABASE_URI = 'mysql://superset:your_password@ip:port/superset' SECRET_KEY = 'your_secret_key'
-
请将
your_password
替换为前面设置的 MySQL 用户密码,ip:port
替换为数据库所在服务器的IP地址和端口。your_secret_key
替换为一个安全的密钥, 运行命令openssl rand -base64 42
生成。
-
-
启动Superset容器
-
启动 Superset 容器时,将本地配置文件挂载到容器中:
docker run \-d \--name superset \-p 8088:8088 \-e SUPERSET_CONFIG_PATH="/app/superset/superset_config.py" \-v /data/docker/superset/conf/superset_config.py:/app/superset/superset_config.py \apache/superset:4.0.0
-
其中:
-
-d
表示后台运行容器。 -
--name superset
为容器指定一个名称。 -
-p 8088:8088
将容器的8088端口映射到宿主机的8088端口。 -
-e SUPERSET_CONFIG_PATH="/app/superset/superset_config.py"
设置环境变量。 -
-v /data/docker/superset/conf/superset_config.py:/app/superset/superset_config.py
将宿主机的配置文件挂载到容器中。 -
apache/superset:4.0.0
指定要使用的Superset镜像和版本4.0.0。
-
-
注意:
- 启动容器命令一定要设置环境变量
-e SUPERSET_CONFIG_PATH="/app/superset/superset_config.py"
, 否则挂载配置文件无效。
- 启动容器命令一定要设置环境变量
-
-
初始化 Superset
-
进入 Superset 容器:
docker exec -it superset /bin/bash
-
在容器内部,使用以下命令完成初始化:
# Create an admin user in your metadata database superset fab create-admin \--username admin \--firstname Superset \--lastname Admin \--email admin@superset.com \--password admin # initialize the database: superset db upgrade # Create default roles and permissions superset init
-
-
访问 Superset:
打开浏览器,访问
http://localhost:8088
,使用创建的管理员账户登录,即可开始使用 Superset。
使用 Docker Compose 部署
-
编写一个
docker-compose.yml
文件,内容如下:version: '3'services:superset:image: apache/superset:4.0.0container_name: supersetports:- "8088:8088"environment:- SUPERSET_CONFIG_PATH=/app/superset/superset_config.pyvolumes:- /data/docker/superset/conf/superset_config.py:/app/superset/superset_config.pyrestart: unless-stopped
- 这个 Docker Compose 文件等效于您提供的
docker run
命令。它会:- 使用
apache/superset:4.0.0
镜像创建一个名为superset
的服务 - 将容器的 8088 端口映射到宿主机的 8088 端口
- 设置环境变量
SUPERSET_CONFIG_PATH
指向/app/superset/superset.py_config
- 将宿主机的
/data/docker/superset/conf/superset_config.py
文件挂载到容器的/app/superset/superset_config.py
路径 - 设置容器在非正常停止时自动重启
- 使用
- 这个 Docker Compose 文件等效于您提供的
-
启动Superset容器
请将其保存为
docker-compose.yml
,然后运行以下命令:docker-compose up -d
参考文章
Superset 官网
Quick Setup: Configure Superset with Docker
Docker 安装Apache Superset 并实现汉化和快速入门