当前位置: 首页 > news >正文

Docker部署常见应用之Superset

文章目录

    • 使用 Docker 部署
    • 使用 Docker Compose 部署
    • 参考文章

在这里插入图片描述

以下是使用 Docker 部署 Superset 并将存储配置为 MySQL 的详细步骤:

使用 Docker 部署

  1. 获取Superset镜像:

    • 使用Docker从官方仓库拉取Superset镜像:
      docker pull apache/superset:4.0.0
      
  2. 创建 MySQL 数据库

    • 登录到 MySQL 数据库,执行以下命令创建用于 Superset 的数据库和用户:

      CREATE USER 'superset'@'%' IDENTIFIED BY 'your_password';
      CREATE DATABASE superset;
      GRANT ALL PRIVILEGES ON superset.* TO 'superset'@'%';
      FLUSH PRIVILEGES;
      

      请根据实际情况修改数据库名称、用户名和密码。

  3. 配置 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 生成。

  4. 启动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" , 否则挂载配置文件无效。
  5. 初始化 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
      
  6. 访问 Superset:

    打开浏览器,访问 http://localhost:8088,使用创建的管理员账户登录,即可开始使用 Superset。

使用 Docker Compose 部署

  1. 编写一个 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 路径
      • 设置容器在非正常停止时自动重启
  2. 启动Superset容器

    请将其保存为 docker-compose.yml,然后运行以下命令:

    docker-compose up -d
    

参考文章

Superset 官网
Quick Setup: Configure Superset with Docker
Docker 安装Apache Superset 并实现汉化和快速入门

http://www.xdnf.cn/news/335269.html

相关文章:

  • Linux 网络管理 的实战代码示例
  • C27-简单选择排序法
  • Matlab B级路面激励下集中驱动、轮边驱动和主动减振车辆
  • 人工智能可信度新突破:MIT改进共形分类助力高风险医学诊断
  • 【今日三题】ISBN号码(模拟) / kotori和迷宫(BFS最短路) / 矩阵最长递增路径(dfs)
  • vite 初始化react项目
  • UV使用官网
  • C++GO语言微服务和服务发现
  • mac连接lniux服务器教学笔记
  • c++中的引用
  • C# 方法(输出参数)
  • x64dbg技巧
  • 如何在Vue-Cli中使用Element-UI和Echarts和swiper插件(低版本)
  • 视频编解码学习7之视频编码简介
  • 红黑树详解初版
  • Java数据结构——Queue
  • 使用Deployment部署运行Nginx和Apache服务
  • Java复习笔记-基础
  • Spark缓存--cache方法
  • leetcode 3342. 到达最后一个房间的最少时间 II 中等
  • ​无线手持吸尘器无刷BLDC驱动方案功能介绍---【其利天下】
  • Crawl4AI:高效的开源 Python 网页爬取与数据提取库
  • php java go python面向对象的设计原则和常用设计模式
  • 构建高可维护、易测试的异步任务系统:基于 Celery + Redis + Eventlet 的模块化架构实践
  • AI日报 · 2025年5月08日|Stripe发布全球首个支付AI基础模型
  • 论坛系统开发(0-1) (上 前置知识介绍)
  • 解锁跨平台开发的新时代——Compose Multiplatform
  • Python3 上下文管理器:优雅管理资源的艺术
  • JVM运行时数据区域(Run-Time Data Areas)的解析
  • Linux系统管理与编程15:vscode与Linux连接进行shell开发