下载镜像
sudo docker pull spuerset
执行容器
docker run -d -p 8088:8088 --name superset amancevice/superset
返回值就是容器id
也可以通过docker ps
查看容器id
初始化容器设置密码
docker exec -it 容器id superset-init
如果需要容器自启
docker update --restart always 容器名
连接pg数据库URI
postgresql+psycopg2://<用户名>:<用户密码>@<ip>:<端口号>/<数据库名>
需要多表查询记得勾选Allow Multi Schema Metadata Fetch
如果需要修改源码可以进入容器进行修改
docker exec -it --user root 容器id /bin/bash
进入容器修改代码
cd /usr/local/lib/python3.6/site-packages/superset
# 因为容器内没有vim,先安装vim才能修改文件
apt-get install vim
vim config.py
# 找到PUBLIC_ROLE_LIKE_GAMMA改为True
# 设置公共账户权限,为了免登录查看仪表盘
PUBLIC_ROLE_LIKE_GAMMA = True
# 找到BABEL_DEFAULT_LOCALE改为zh
# 将默认语言改为中文,但汉化程度一般
BABEL_DEFAULT_LOCALE ='zh'
## 网上教程中还有一个取消跨域访问限制的方法
## 将HTTP_HEADERS = {}
## 但是目前我在config.py中只找到
## DEFAULT_HTTP_HEADERS 和
## OVERRIDE_HTTP_HEADERS 两个参数,并没有生效
容器内再次初始化程序使改动生效
python bin/superset init
# 退出容器
exit
最后给公共账号访问数据库权限
在用户权限->角色列表中找到public
选择编辑增加一条all database access on all_database_access
网友评论