Docker部署superset SUPERSET_SECRET_KEY报错

Docker部署superset过程,记录一下

  • docker安装,镜像源替换

    • 安装好docker,不详细说明,这里主要提一下拉镜像有问题的,替换一下镜像源
    • vi /etc/docker/daemon.json
    • {
        "registry-mirrors": [
              "https://docker.m.daocloud.io",
              "https://dockerproxy.com",
              "https://docker.mirrors.ustc.edu.cn",
              "https://docker.nju.edu.cn",
              "https://iju9kaj2.mirror.aliyuncs.com",
              "http://hub-mirror.c.163.com",
              "https://cr.console.aliyun.com",
              "https://hub.docker.com",
              "http://mirrors.ustc.edu.cn"
          ]
      }

      重启容器

    • systemctl daemon-reload

    • systemctl restart docker

  • 容器启动

    • docker run --name my_superset -d -p 8088:8088 -v /opt/superset:/home/superset apache/superset

  • SUPERSET_SEZCRET_KEY设置

    • 拷贝config.py文件出来
### 设置和使用 Superset 的 `SECRET_KEY` 在 Apache Superset 中,`SECRET_KEY` 是一个非常重要的安全参数,用于保护会话和其他敏感数据。为了确保系统的安全性,强烈建议自定义并妥善保管此密钥。 #### 创建随机生成的 `SECRET_KEY` 可以利用 Linux 命令行工具来生成高强度的随机字符串作为新的 `SECRET_KEY`: ```bash openssl rand -base64 42 ``` 该命令将会输出一串长度为42字符的Base64编码字符串,适合作为加密密钥[^3]。 #### 修改配置文件 找到 Superset 应用程序对应的库路径下的 `superset_config.py` 文件位置,并编辑之。如果不存在,则需手动创建。在此文件内添加如下代码片段以设定新产生的秘密键值对: ```python # superset_config.py import os SECRET_KEY = os.getenv('SUPERSET_SECRET_KEY', 'YOUR_OWN_RANDOM_GENERATED_SECRET_KEY') ``` 这里推荐通过环境变量的方式传递实际使用的密钥内容给应用程序实例化过程中的读取操作;而 `'YOUR_OWN_RANDOM_GENERATED_SECRET_KEY'` 则应替换为你之前通过 OpenSSL 工具获得的具体数值。 对于采用 Docker 部署方案的情况,还需要额外执行一些步骤以便让容器内部能够识别到外部修改过的配置项。具体做法是先停止正在运行的服务进程,接着把主机上的最新版配置文档复制进去覆盖旧版本,最后重新启动服务使更改生效[^4]: ```shell docker stop my_superset docker cp ./config.py my_superset:/app/superset/ docker start my_superset ``` 完成上述调整之后,再次尝试初始化数据库应该不会再遇到有关默认密钥检测失败的问题提示了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值