利用docker部署superset

基本用法

1.打開linus中的命令行.
-t: 在容器內(nèi)指定一個(gè)終端
-i:允許對容器進(jìn)行標(biāo)準(zhǔn)輸入進(jìn)行交互

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

1.查詢正在運(yùn)行的容器

$ docker ps

1.在linux中安裝python
首先在D盤中新建一個(gè)ubuntu_python文件夾.之后映射到容器中的文件.

$ docker run -it --name ubuntu_python -v /docker_python:/home/python --# net=host 93fd78260bd1 /bin/bash
$ cd home/python //進(jìn)入到指定目錄
$ apt update           //更新ubuntu系統(tǒng)
$ apt install python3  //安裝python3

坑: 映射宿主文件夾與docker文件夾會報(bào)錯(cuò)

映射的時(shí)候會報(bào)錯(cuò)活烙。

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'.

此時(shí)需要打開docker setting里面的shared Drives選項(xiàng)框尘惧。點(diǎn)擊Reset credentials隔缀。


image.png

然后再重啟powershell眉枕,執(zhí)行同樣的命令就可以了歌径。

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會報(bào)錯(cuò)

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

此時(shí)需要再執(zhí)行一次superset init才能成功亿絮。參考鏈接

坑:啟動superset服務(wù)端口被占用

因?yàn)樗拗麟娔X上的8088端口似乎被占用了啟動不起來鼠锈。一開始就要把容器內(nèi)的5009端口映射到宿主的5009端口上去。

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

坑: 上傳csv的時(shí)候會出現(xiàn)permission error

網(wǎng)上有解決方案
https://github.com/apache/incubator-superset/issues/6156
首先以root身份登錄晨抡。

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

然后去變更superset文件的權(quán)限针余。


image.png

坑: 重新關(guān)閉docker容器之后之前的數(shù)據(jù)都丟失了.

方法1.利用文件夾映射
superset自己本身的table,dashboard等數(shù)據(jù)的存放地址默認(rèn)為 /var/lib/superset/superset.db.因此應(yīng)該把/var/lib/superset/這個(gè)容器文件夾映射到某個(gè)宿主文件夾中來.下次啟動的時(shí)候再掛載宿主電腦的路徑.
[注]superset中可以在config_superset.py中配置存放地址
SQLALCHEMY_DATABASE_URI = 'sqlite:////path/to/superset.db'

方法2.容器關(guān)閉后重新進(jìn)去饲鄙,數(shù)據(jù)還在原處.(未驗(yàn)證)比如
通過 docker ps -a 看到關(guān)閉的容器
docker start your_container_name

如何把superset的圖標(biāo)嵌入到自己的網(wǎng)站中.

1.需要修改superset_config.py文件,將PUBLIC_ROLE_LIKE_GAMMA改為True(賦予公共角色與GAMMA角色相同的權(quán)限集)。同時(shí)設(shè)置
HTTP_HEADERS = {'X-Frame-Options': ' ALLOWALL'}(允許跨站訪問)
[注]superset會在/home/superset文件夾中來查找superset_config.py.因此需要映射到宿主文件夾中來.然后再宿主文件夾中添加這個(gè)文件
2.在superset中配置public的權(quán)限


image.png

image.png

其中:
? can explore on Superset為導(dǎo)出圖表
? can explore json on Superset為導(dǎo)出圖表json
? all database access on all_database_access訪問所有數(shù)據(jù)庫權(quán)限圆雁,也可以設(shè)置單個(gè)
3.獲取ifram鏈接


image.png

把這個(gè)iframe標(biāo)簽放到html文件中即可使用.
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末忍级,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子伪朽,更是在濱河造成了極大的恐慌轴咱,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件烈涮,死亡現(xiàn)場離奇詭異朴肺,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)坚洽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進(jìn)店門戈稿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人讶舰,你說我怎么就攤上這事鞍盗。” “怎么了跳昼?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵般甲,是天一觀的道長。 經(jīng)常有香客問我鹅颊,道長敷存,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任堪伍,我火速辦了婚禮锚烦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘帝雇。我一直安慰自己涮俄,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布摊求。 她就那樣靜靜地躺著,像睡著了一般刘离。 火紅的嫁衣襯著肌膚如雪室叉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天硫惕,我揣著相機(jī)與錄音茧痕,去河邊找鬼。 笑死恼除,一個(gè)胖子當(dāng)著我的面吹牛踪旷,可吹牛的內(nèi)容都是我干的曼氛。 我是一名探鬼主播,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼令野,長吁一口氣:“原來是場噩夢啊……” “哼舀患!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起气破,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤聊浅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后现使,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體低匙,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年碳锈,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了顽冶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,703評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡售碳,死狀恐怖强重,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情团滥,我是刑警寧澤竿屹,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站灸姊,受9級特大地震影響拱燃,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜力惯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一碗誉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧父晶,春花似錦哮缺、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至埠胖,卻和暖如春糠溜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背直撤。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工非竿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人谋竖。 一個(gè)月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓红柱,卻偏偏與公主長得像首装,于是被迫代替她去往敵國和親加缘。 傳聞我的和親對象是個(gè)殘疾皇子只盹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評論 2 353

推薦閱讀更多精彩內(nèi)容