Superset 4.1.2 Docker部署

  • 和nginx结合使用,如果不是配置到根路径,会比较麻烦,我试了很多种方法,也就 这个 靠谱点,不过,我最后还是选择的部署在根路径,先探索一番再说
  • 默认不能选择mysql数据库,需要安装mysql客户端驱动,在docker里直接安没安上,需要切root,执行如下操作
# 需要以root进入执行安装和配置
docker exec -it --user root superset /bin/bash

# 安装依赖包
apt-get install pkg-config
apt-get install build-essential

# 安装客户端
pip install mysqlclient
  • 设置为中文,修改superset_config.py文件
BABEL_DEFAULT_LOCALE = 'zh'
LANGUAGES = {
    'zh': {'flag': 'cn', 'name': '简体中文'},
    'en': {'flag': 'us', 'name': 'English'}
}
  • 查表时发现并没有使用postgres数据库,而是用的自带的sqlite,猜测是官方的镜像中没有postgres的驱动的缘故吧,那就自己做一个新的镜像,顺便把mysql驱动也加进来
Dockerfile:

FROM apache/superset:latest
USER root
RUN apt-get update && \
    apt-get install -y pkg-config build-essential && \
    pip install mysqlclient psycopg2-binary
USER superset


创建镜像:
docker build -t my-superset-image .
  • 可以在新的镜像创建的容器中查看,如下:

  • 重新调整后还是不行,最后在superset_config.py中加入数据库连接串后,好使了,如下:
SQLALCHEMY_DATABASE_URI = "postgresql+psycopg2://superset:superset@db:5432/superset"

  • 最后的yml文件如下,注释掉了SUPERSET_DATABASE_URI(用SQLALCHEMY_DATABASE_URI也不好使)
superset-init:
    image: my-superset-image
    container_name: superset-init
    environment:
      SUPERSET_SECRET_KEY: "f8sd9f7sd9f8s9d8f7sd98f7sdf"
      SUPERSET_CONFIG_PATH: "/app/configs/superset_config.py"
     # SUPERSET_DATABASE_URI: "postgresql+psycopg2://superset:superset@db:5432/superset"
    depends_on:
      - db
    volumes:
      - ./superset_config.py:/app/configs/superset_config.py
    command: >
      /bin/bash -c "
      superset db upgrade &&
      superset fab create-admin --username admin --firstname Superset --lastname Admin --email admin@superset.com --password admin &&
      superset init
      "
    networks:
      - app-network

  superset:
    image: my-superset-image
    container_name: superset
    environment:
      SUPERSET_SECRET_KEY: "f8sd9f7sd9f8s9d8f7sd98f7sdf"
      SUPERSET_CONFIG_PATH: "/app/configs/superset_config.py"
      #SUPERSET_DATABASE_URI: "postgresql+psycopg2://superset:superset@db:5432/superset"
    expose:
      - "8088"
    depends_on:
      - db
      - superset-init
    volumes:
      - ./superset_config.py:/app/configs/superset_config.py
    command: >
      /bin/bash -c "
      superset run -h 0.0.0.0 -p 8088
      "
    networks:
      - app-network

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值