1. 程式人生 > 實用技巧 >Docker+Flask+pyecharts實現資料視覺化

Docker+Flask+pyecharts實現資料視覺化

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
pip 
install 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、補充說明

該視覺化監控的使用的實際上是生產資料,生產資料與本地有堡壘機做隔離,因此難點在於資料的自動化傳輸,畢竟生產環境只配置了一臺伺服器與本地之間做郵件通訊,上文只是對視覺化實現步驟做呈現。