大家好,這里是Cherry,喜愛折騰、撿垃圾、玩數(shù)碼,熱衷于分享NAS、docker玩耍經(jīng)驗(yàn)~
前言
前幾天在用??礡1部署nastools的教程中提過,??礡1的docker可視化頁(yè)面可以說是我目前看到可玩性最高的。
為啥這樣說?因?yàn)樗业膁ocker采用了獨(dú)一無二的環(huán)境變量配置方案,支持我們將docker cli中的指令轉(zhuǎn)換為環(huán)境變量使用,我們甚至可以用docker環(huán)境變量來執(zhí)行cmd指令!!
今天,我們就給海康R1的docker功能升升級(jí),部署一個(gè)dockge項(xiàng)目來實(shí)現(xiàn)??礡1對(duì)docker-compose的支持。
其它NAS可以看我曾經(jīng)發(fā)過的文章安裝
項(xiàng)目特性:
- ??? 管理您的`composite.yaml`文件
- 開始/停止/重新啟動(dòng)/刪除
- 更新Docker映像
- ?? ?用于`composite.yaml`的編輯器
- ?? 交互式Web終端
- ? (v1.4.0) 支持多個(gè)代理-您可以在一個(gè)界面中管理來自不同Docker主機(jī)的多個(gè)堆棧
- 轉(zhuǎn)換`docker run.` 命令進(jìn)入`composite.yaml`
- Dockge不會(huì)綁架你的合成文件,它們像往常一樣存儲(chǔ)在你的驅(qū)動(dòng)器上。您可以使用普通`的Docker compose`命令與它們交互
- 一切都是響應(yīng)式的。進(jìn)度(上拉/下拉)和終端輸出是實(shí)時(shí)的
- 易于使用和花哨的UI -如果你喜歡Uptime Kuma的UI/UX,你也會(huì)喜歡這個(gè)
一、系統(tǒng)部署
開始項(xiàng)目部署前,我們先從網(wǎng)盤下載相關(guān)的工具,包括容器鏡像。
夸克網(wǎng)盤分享了「dockge」
pan.quark.cn/s/6951317e7970
如果網(wǎng)絡(luò)不好的,建議選擇導(dǎo)入功能,把網(wǎng)盤下載的鏡像導(dǎo)入進(jìn)去。
如果網(wǎng)絡(luò)OK,或者給docker功能配置了鏡像庫(kù)的(如1panel),比如下面這個(gè)操作,可以自行下載鏡像。
在docker頁(yè)面搜索louislam/dockge
,別下錯(cuò)其它版本了。
在啟動(dòng)前,我們先創(chuàng)建兩個(gè)文件夾:一個(gè)叫dockge,用來存放dockge的數(shù)據(jù)文件;另外一個(gè)叫stacks,用來存放以后dockge管理的compose項(xiàng)目。
接著,在【鏡像管理】里選擇dockge
鏡像,點(diǎn)擊【創(chuàng)建容器】。
【存儲(chǔ)空間】:這里配上剛才我們創(chuàng)建的兩個(gè)文件夾。dockge對(duì)應(yīng)容器內(nèi)的/App/data
,stacks對(duì)應(yīng)容器內(nèi)的/opt/stacks
,記得類型都改為讀寫。
【端口設(shè)置】:默認(rèn)使用的是5001 TCP端口,本地端口我們可以更改為不占用的任意,容器端口不能改。
【環(huán)境】:核心設(shè)置部分,因?yàn)楹?礡1在存儲(chǔ)空間是沒辦法選擇到docker.sock文件的,但是我們可以在環(huán)境變量里,將docker cli指令轉(zhuǎn)換為環(huán)境變量來使用。更有趣的玩法,大家自己挖掘,以后有機(jī)會(huì)再發(fā)!
# 映射docker.sock
--volume=/var/run/docker.sock:/var/run/docker.sock
# 重啟策略
--restart=always
# 項(xiàng)目目錄
DOCKGE_STACKS_DIR=/opt/stacks
點(diǎn)擊完成安裝容器,然后切回到【容器管理】,切換到端口設(shè)置,點(diǎn)擊【訪問地址】就可以打開系統(tǒng)了。
二、系統(tǒng)體驗(yàn)
初始化賬號(hào)密碼進(jìn)入系統(tǒng)。
系統(tǒng)總頁(yè)面,展示了目前的compose項(xiàng)目所有內(nèi)容。
大家可以注意到,中間有一個(gè)docker啟動(dòng)的功能,這個(gè)功能允許將docker run指令更改為docker compose,并且直接啟動(dòng)項(xiàng)目,簡(jiǎn)單又無腦,這也是dockge項(xiàng)目被稱為神器的原因。
這里以最常用的網(wǎng)絡(luò)管理軟件lucky為例,輸入其docker run指令,并點(diǎn)擊轉(zhuǎn)換為compose格式。
可以看到該指令完全被轉(zhuǎn)換為compose.yaml格式了,我們只需要取個(gè)堆棧名稱,然后點(diǎn)擊部署。
點(diǎn)擊左上角的【+compose】可以創(chuàng)建一個(gè)新的compose項(xiàng)目,可以手動(dòng)編輯頁(yè)面上得容器組,也可以直接復(fù)制compose.yml代碼進(jìn)去,左右兩側(cè)的內(nèi)容是完全一致。
對(duì)于immich這類需要【.env】文件來配置環(huán)境變量的項(xiàng)目,我們不要點(diǎn)擊部署,而是先點(diǎn)擊保存,然后切換到海康R1的文件管理頁(yè)面,可以看到compose.yml已經(jīng)保存下來了,我們編輯好【.env】文件放進(jìn)去就行了。
最后
本文介紹了如何解決海康存儲(chǔ)R1無法使用docker compose的問題!現(xiàn)在,我們可以無憂無慮的在??荡鎯?chǔ)R1設(shè)備上安裝docker容器了,通過dockge將原來無法部署的復(fù)雜項(xiàng)目全部上線,解決??荡鎯?chǔ)R1目前軟件功能羸弱的問題。
除了docker cli外,我也嘗試使用該功能挖掘??荡鎯?chǔ)R1的SSH權(quán)限,后面有機(jī)會(huì)我們?cè)龠M(jìn)行分享!
作者聲明本文無利益相關(guān),歡迎值友理性交流,和諧討論~
,