Docker+Flask+pyecharts實現資料視覺化
阿新 • • 發佈:2020-08-10
1、資料加工pyecharts圖實現:
資料來源:本地CSV檔案
ps:由於是跟生產環境做互動,生產環境指標由HSQL加工,使用儲存過程掛後臺定時執行,後使用python實現匯出及定時分發,本地python接收穫取附件解壓
2、上傳檔案至伺服器
本地pycharm跑通後,把專案對應檔案上傳至伺服器目錄:
解壓到/root/data_dashboard路徑,該路徑資料夾將作為掛載目錄對應到python容器,後續只要修改該資料夾檔案,即可對
ps:如果有需要避免原始碼洩露的需求,上傳pycharm專案裡面自帶的pyc字尾檔案即可,或者進入伺服器後在編譯成pyc格式檔案。
3、建立容器
已有python映象前提下,建立python容器,-d程式碼容器後臺執行。容器建立三要點,埠對映/目錄掛載/ip分段。
Flask預設5000埠,這裡把容器5000埠對映到宿主機9500埠,目錄掛載宿主機/root/data_dashboard下,後續所有Flask檔案都在該路徑下即可,
另外由於該Flask讀取的是本地csv檔案來實現,每天的更新通過自動替換該路徑檔案來實現,因此就不做IP地址設定(如果涉及資料庫訪問,一定要做固定IP設定)
docker run -it -d --name=p1 -p 9500:5000 -v /root/data_dashboard:/root/project python:3.6.9 bash
4、進入容器,安裝所需的第三方庫
進入容器,安裝Flask框架,使用清華大學資料來源。
docker exec -it p1 bash pipinstall flask -i https://pypi.tuna.tsinghua.edu.cn/simple
安裝pyecharts
pip install pyecharts -i https://pypi.tuna.tsinghua.edu.cn/simple
5、啟動任務
進入run.py對應資料夾,並執行執行命令即可
cd /root/project/dataMonitor
nohup python run.py > logs.txt
使用nohup命令,執行後把視窗關閉,就能後臺一直執行
測試網頁結果如下:
ps:9500的埠為建立容器時容器5000埠對映。
6、補充說明
該視覺化監控的使用的實際上是生產資料,生產資料與本地有堡壘機做隔離,因此難點在於資料的自動化傳輸,畢竟生產環境只配置了一臺伺服器與本地之間做郵件通訊,上文只是對視覺化實現步驟做呈現。