群暉DS220J ARM安裝使用docker
群暉的ARM機型默認(rèn)不支持docker,少了不少折騰的樂趣。本文記錄了在白群暉ARM機型下安裝docker的過程。
1、打開并進(jìn)入群暉ssh
"群暉DS220J 利用SSD做虛擬內(nèi)存優(yōu)化"一文已經(jīng)介紹過如何通過windows10的powershell進(jìn)入群暉后臺。強烈建議通過SSD做虛擬內(nèi)存優(yōu)化,因為ARM機型一般內(nèi)存都很小,沒有虛擬內(nèi)存優(yōu)化很可能會卡頓嚴(yán)重。
此外,如果提示權(quán)限不足的話,可以sudo或切換到root賬號下操作
2、查看自己的CPU類型,官網(wǎng)下載安裝包
可以用uname -m,我的是arm v8,所以得到的結(jié)果是aarch64

網(wǎng)址為https://download.docker.com/linux/static/stable/

點擊aarch64進(jìn)入

本文編寫時,最新的安裝包為docker-20.10.9.tgz,瀏覽器可以下載,網(wǎng)址為
https://download.docker.com/linux/static/stable/aarch64/docker-20.10.9.tgz
假設(shè)DS220J已經(jīng)在存儲空間1上創(chuàng)建了docker文件夾,將這個壓縮包不解壓直接拷貝到docker文件夾內(nèi),然后cd /volume1/docker,進(jìn)入到該目錄中

當(dāng)然也可以選擇wget?https://download.docker.com/linux/static/stable/aarch64/docker-20.10.9.tgz直接下載
3、解壓
tar xvf docker-20.10.9.tgz
注意文件名需要根據(jù)實際壓縮包的名稱而定,解壓完成后cd docker,然后ls,可以看到若干文件

4、安裝
安裝過程是比較暴力的,我暫時也沒有更好的解決方法。
pwd確認(rèn)已經(jīng)在剛剛解壓的docker目錄下后,sudo cp * /usr/bin,這樣就會把所有剛剛解壓的文件拷貝到系統(tǒng)目錄下。
然后執(zhí)行sudo dockerd,用來創(chuàng)建一些臨時的目錄。但是執(zhí)行過程會失敗,我們需要修改配置文件
vi /etc/docker/daemon.json
將下述文本復(fù)制進(jìn)去
{
? "storage-driver": "vfs",
? "iptables": false,
? "data-root": "/volume1/docker"
}

注意,不要配置bridge,這樣默認(rèn)就會有橋接模式。就我個人的應(yīng)用而言,橋接模式非常有用,尤其是容器和DSM之間的端口映射,jellyfin等docker組件嚴(yán)重依賴該模式。
再次執(zhí)行sudo dockerd &
成功啟動
可以考慮后續(xù)在DSM的計劃任務(wù)中,設(shè)置開機啟動任務(wù),以root權(quán)限執(zhí)行下sudo dockerd &命令,以后就不用每次手工敲了。
5、安裝PortainerIo,使用GUI界面管理安裝docker容器。
在群暉x86的機型中,docker都是有GUI管理界面的,拉鏡像創(chuàng)建容器都很直觀。在本文安裝的docker中,也可以借用一個叫portainerio的docker鏡像,實現(xiàn)類似的功能,界面如下

但是portainerio還是要借助命令行來安裝的,下面介紹安裝過程
第一步拉取鏡像
docker pull portainer/portainer
第二步做卷
docker volume create portainer_data
第三步生成容器
docker run -d -p 10001:9000 -v /var/run/docker.sock:/var/run/docker.sock --net=bridge -v portainer_data:/data portainer/portainer
這里,使用-d標(biāo)明后臺運行,-p是對tcp端口進(jìn)行端口映射,將DS220J的10001端口映射到docker的9000端口,--net=bridge,顯式指定了網(wǎng)絡(luò)模式為bridge
10001端口號可以改為其他端口,但是9000端口不可修改。
第四步,確認(rèn)容器正確啟動
sudo docker ps -a

注意如果PORTS沒有顯示,或者端口和你預(yù)設(shè)的不一樣,可能是哪里存在錯誤,需要檢查。
STATUS顯示了狀態(tài),我這里是已經(jīng)啟動運行了。
然后在瀏覽器輸入NAS的IP和10001端口號,就可以了
假設(shè)我的NAS ip為192.168.1.100,那么應(yīng)該在瀏覽器輸入192.168.1.100:10001
如果能夠看到對應(yīng)的管理頁面,說明安裝成功了。
如果希望容器能夠在NAS重啟后能夠自動啟動,需要在命令行中輸入
docker container update --restart=always a451a16cbdef

全部配置完畢后,可以重啟NAS驗證下自動啟動是否生效,如果能夠生效恭喜你完成了ARM機型上docker的創(chuàng)建!
portainerio網(wǎng)上有許多教程,本文就不在贅述了。Enjoy it~