飛牛系統安裝DataEase自定義Docker包
- 背景
- 構造DataEase Docker包
- 1.在Linux 系統中(比如我這里選麒麟V10)安裝Docker
- 2.準備打包文件
- 3.執行打包
- 4.驗證打好的包
- 上傳DataEase Docker包
- 1.把本地docker 容器導出
- 1.1查看鏡像列表命令:docker images
- 1.2 執行導出命令:docker save -o tar文件名 倉庫名稱:TAG名稱
- 2.使用飛牛的文件管理上傳Docker包
- 安裝1Panel組件
- 創建容器
- 1.進入1Panel,雙擊桌面1Panel圖標
- 2.導入鏡像
- 2.1.查看文件位置
- 2.2 導入鏡像
- 3.創建容器
- 啟動DataEase Docker
- 進入飛牛終端
- 常見問題解決
- 1.Pulling Get "https://registry-1.docker.io/v2/": net/http: request canceled w
- 2.The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
- 最后
背景
有網友需要在飛牛系統上部署一套定制的DataEase,但是飛牛系統都是Docker方式安裝,以前沒接觸過,聽過飛牛系統,Docker也只是聽說過。今天想嘗試一下。大概理一下思路:
先將DataEase 打成Docker包,然后導出。再上傳飛牛系統,再看怎么導入
構造DataEase Docker包
1.在Linux 系統中(比如我這里選麒麟V10)安裝Docker
sudo yum install -y docker
2.準備打包文件
我創建目錄/setup/jdk21
mkdir /setup/jdk21
然后把jdk21 和dataease2.0 復制進去,變成
[root@localhost ~]# cp -r /usr/local/jdk21 /setup/jdk21
[root@localhost ~]# cp -r /opt/dataease2.0 /setup/jdk21
[root@localhost ~]# ll /setup/jdk21
總用量 4
drwxr-xr-x 7 root root 133 7月 21 10:10 dataease2.0
-rw-r--r-- 1 root root 413 7月 21 10:11 Dockerfile
drwxr-xr-x 10 root root 149 7月 15 21:00 jdk-21
在/setup/jdk21創建Dockerfile,內容如下:
[root@localhost ~]# cd /setup/jdk21
[root@localhost jdk21]# vi Dockerfile
FROM debian:11-slim# 安裝必要的基礎庫
RUN apt-get update && apt-get install -y libc6 zlib1g libstdc++6 && \rm -rf /var/lib/apt/lists/*COPY jdk-21 /opt/jdk-21
COPY dataease2.0 /opt/dataease2.0
# 設置環境變量
ENV JAVA_HOME=/opt/jdk-21 \PATH=/opt/jdk-21/bin:$PATH# 設置工作目錄
WORKDIR /opt/dataease2.0# 3. 運行 Java 程序
ENTRYPOINT ["java", "-jar", "CoreApplication.jar"]
【說明】:
COPY jdk-21 /opt/jdk-21 是將當前目錄的下的jdk-21 復制到容器目錄/opt/jdk-21
debian:11-slim 是oracle jdk21 依賴的庫
3.執行打包
docker build -t dataease .
【注意】如果打包時報連接超時之類,需要修改/etc/docker/daemon.json文件,內容如下:
{"registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com","https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com","https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com","https://docker.m.daocloud.io","https://hub-mirror.c.163.com","https://mirror.baidubce.com","https://your_preferred_mirror","https://dockerhub.icu","https://docker.registry.cyou","https://docker-cf.registry.cyou","https://dockercf.jsdelivr.fyi","https://docker.jsdelivr.fyi","https://dockertest.jsdelivr.fyi","https://mirror.aliyuncs.com","https://dockerproxy.com","https://mirror.baidubce.com","https://docker.m.daocloud.io","https://docker.nju.edu.cn","https://docker.mirrors.sjtug.sjtu.edu.cn","https://docker.mirrors.ustc.edu.cn","https://mirror.iscas.ac.cn","https://docker.rainbond.cc"],"max-concurrent-downloads": 10,"log-driver": "json-file","log-opts": {"max-size": "100m"},"storage-driver": "overlay2"
}
主要是registry-mirrors 這段
4.驗證打好的包
使用docker ps -a
第一行dataease就是打包結果
運行docker 包
命令:docker start 容器ID
查看容器運行日志
命令:docker log 容器ID
上傳DataEase Docker包
1.把本地docker 容器導出
1.1查看鏡像列表命令:docker images
1.2 執行導出命令:docker save -o tar文件名 倉庫名稱:TAG名稱
執行完后,在當前目錄下產生dataease.tar文件
2.使用飛牛的文件管理上傳Docker包
把上面dataease.tar下載到本地windows,然后打開飛牛網站
雙擊打開文件管理
走到指定目錄,點擊上傳按鈕,選擇上傳文件,在彈出對話框選擇剛才文件,上傳即可。
安裝1Panel組件
在飛牛系統界面,打開應用中心,找到1Panel圖標,點擊下圖的安裝,如下圖:
點擊下一步,設置安全入口、用戶名、密碼
這里安全入口設置為123456
創建容器
1.進入1Panel,雙擊桌面1Panel圖標
【注意】如果打不開的網頁,則檢查是否開放了18090端口
2.導入鏡像
2.1.查看文件位置
還記得前面有一步上傳DataEase Docker包,走到那個tar文件,右鍵看詳細信息
在彈出對話框,點擊復制原始路徑,把復制到寫字板,后面使用
2.2 導入鏡像
切回到1Panel界面
依次點擊紅框菜單,最后在路徑輸入框粘貼2.1復制出來的原始路徑,點擊右下角導入按鈕
導入成功,會出現如下圖:
3.創建容器
切換到容器頁簽
錄入容器名稱及鏡像名稱,點擊確定。你還可以設置后面的cpu數量,內存數量,映射端口等
啟動DataEase Docker
在dataease容器操作欄點擊更多,彈出菜單點擊啟動
進入飛牛終端
有時,需要修改配置文件,必須進入終端
在1Panel 左邊工具條,點擊主機,再點擊終端,如下圖:
它默認連接127.0.0.1,所以連接失敗
在主機頁簽增加主機
回到終端頁簽
鼠標移到+號,點擊下面的admin@xxx.xxx.xxx.xxx
常見問題解決
如果構造容器,或啟動容器報錯:
1.Pulling Get “https://registry-1.docker.io/v2/”: net/http: request canceled w
這是構建容器時,下載包報錯,類似第一步構造DataEase Docker包,修改/etc/docker/daemon.json,內容如下:
{"registry-mirrors": ["https://docker.1panel.live","https://docker.m.daocloud.io/","https://huecker.io/","https://dockerhub.timeweb.cloud","https://noohub.ru/","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn","https://xx4bwyg2.mirror.aliyuncs.com","http://f1361db2.m.daocloud.io","https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://mirror.aliyuncs.com","https://docker.mirrors.ustc.edu.cn"]
}
修改配置文件
再次執行構造容器操作即可
2.The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
SQL State : 08S01
Error Code : 0
Message : Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
這是數據庫連接錯誤,需要修改數據庫配置文件
進入終端:
先把dataease docker包的配置文件:/opt/dataease2.0/application-standalone.yml 復制出來
然后修改,再復制回去,再重啟docker
看目前容器id
把容器配置文件復制出來
sudo docker cp 33fd192410df:/opt/dataease2.0/application-standalone.yml ./fixed-config.yml
修改配置文件
sudo vi fixed-config.yml
修改完后,覆蓋回去
sudo docker cp ./fixed-config.yml 33fd192410df:/opt/dataease2.0/application-standalone.yml
重啟docker
最后
這個過程耗費了三天時間。感覺還值得,以前感覺docker挺神秘的。如需溝通:lita2lz