利用docker部署superset

基本用法

1.打开linus中的命令行.
-t: 在容器内指定一个终端
-i:允许对容器进行标准输入进行交互

runoob@runoob:~$ docker run -i -t ubuntu:15.10 /bin/bash

1.查询正在运行的容器

$ docker ps

1.在linux中安装python
首先在D盘中新建一个ubuntu_python文件夹.之后映射到容器中的文件.

$ docker run -it --name ubuntu_python -v /docker_python:/home/python --# net=host 93fd78260bd1 /bin/bash
$ cd home/python //进入到指定目录
$ apt update           //更新ubuntu系统
$ apt install python3  //安装python3

坑: 映射宿主文件夹与docker文件夹会报错

映射的时候会报错。

C:\Users\CC> docker run -d -p 5009:5009 -v D:\host_mnt\data\sqlite:/home/superset amancevice/superset:0.28.1
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: invalid volume specification: '/host_mnt/d/host_mnt/data/sqlite:/home/superset': invalid mount config for type "bind": invalid mount path: '/home/superset' mount path must be absolute.
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.

此时需要打开docker setting里面的shared Drives选项框。点击Reset credentials。


image.png

然后再重启powershell,执行同样的命令就可以了。

PS C:\Users\CC> docker run -d -p 5009:5009 -v D:\host_mnt\data\sqlite:\home\superset amancevice/superset:0.28.1
55d8c025ab43d5d38902d3e8045a1bdc57a5b9c307a9af043c085035193d72eb

坑: 启动superset会报错

PS C:\Users\CC> docker exec -it 55d8c025ab43 superset init
2018-11-26 08:03:17,617:ERROR:flask_appbuilder.base:'NoneType' object has no attribute 'name'
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/flask_appbuilder/base.py", line 469, in _add_permission
    self.sm.add_permissions_view(baseview.base_permissions, baseview.__class__.__name__)
  File "/usr/local/lib/python3.6/site-packages/flask_appbuilder/security/manager.py", line 923, in add_permissions_view
    if perm_view.permission.name not in base_permissions:
AttributeError: 'NoneType' object has no attribute 'name'
2018-11-26 08:03:17,618:ERROR:flask_appbuilder.base:Add Permission on View Error: 'NoneType' object has no attribute 'name'
2018-11-26 08:03:17,954:INFO:root:Creating database reference
2018-11-26 08:03:17,974:INFO:root:Syncing role definition
2018-11-26 08:03:18,043:INFO:root:Syncing Admin perms

此时需要再执行一次superset init才能成功。参考链接

坑:启动superset服务端口被占用

因为宿主电脑上的8088端口似乎被占用了启动不起来。一开始就要把容器内的5009端口映射到宿主的5009端口上去。

PS C:\Users\CC> docker exec -it 55d8c025ab43 superset runserver -p 5009

坑: 上传csv的时候会出现permission error

网上有解决方案
https://github.com/apache/incubator-superset/issues/6156
首先以root身份登录。

docker exec -it --user root <container id> /bin/bash

然后去变更superset文件的权限。


image.png

坑: 重新关闭docker容器之后之前的数据都丢失了.

方法1.利用文件夹映射
superset自己本身的table,dashboard等数据的存放地址默认为 /var/lib/superset/superset.db.因此应该把/var/lib/superset/这个容器文件夹映射到某个宿主文件夹中来.下次启动的时候再挂载宿主电脑的路径.
[注]superset中可以在config_superset.py中配置存放地址
SQLALCHEMY_DATABASE_URI = 'sqlite:////path/to/superset.db'

方法2.容器关闭后重新进去,数据还在原处.(未验证)比如
通过 docker ps -a 看到关闭的容器
docker start your_container_name

如何把superset的图标嵌入到自己的网站中.

1.需要修改superset_config.py文件,将PUBLIC_ROLE_LIKE_GAMMA改为True(赋予公共角色与GAMMA角色相同的权限集)。同时设置
HTTP_HEADERS = {'X-Frame-Options': ' ALLOWALL'}(允许跨站访问)
[注]superset会在/home/superset文件夹中来查找superset_config.py.因此需要映射到宿主文件夹中来.然后再宿主文件夹中添加这个文件
2.在superset中配置public的权限


image.png

image.png

其中:
Ø can explore on Superset为导出图表
Ø can explore json on Superset为导出图表json
Ø all database access on all_database_access访问所有数据库权限,也可以设置单个
3.获取ifram链接


image.png

把这个iframe标签放到html文件中即可使用.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容