基於PVE的allinone玩法之二(docker的基礎應用)

作者:還得取個名字

上一篇已經將allinone的基礎架構搭建好,docker的載體ubuntu也配置好了,這次主要是介紹一些docker的安裝和部分應用,涉及到的包括portainer、jellyfin、transmission、tinymediamanager。可能有的同學會問,既然都已經安裝了群暉,為啥還要搞個ubuntu來裝docker,直接放在群暉裡不就好了,或者乾脆在pve上直接裝docker,再或者透過LXC container來安裝,效率上也不錯。但之所以這麼做,主要是從安全的角度上考慮,allinone其實還是有一定的風險的,至少我之前用unraid會出現崩潰的情況,所以儘量還是把功能隔離,原則就是pve我基本不動,群暉我也只用無法替代或者基礎的功能,比如drive或photo啥的,其他的都由ubuntu來完成。

用到的一些材料,可以在我的網盤裡找到

Portainer的安裝及使用

為了便於docker的管理,首先要安裝一個管理docker的容器,portainer用了一段時間還是挺好用,透過mobaxterm的ssh連線到ubuntu,然後按照如下命令操作即可。

第一步,建立儲存空間

docker volume create portainer_data

第二步,安裝portainer,全部複製一起粘mobaxterm裡後回車,執行命令,由於之前沒有拉取映象,所以需要一段時間下載,下載就會自動執行(不知道為啥無法顯示出來,程式碼只要弄成一行了,不影響用,就是有點難受看著)。

docker run -d -p 9000:9000 ——name=portainer ——restart=always -v /var/run/docker。sock:/var/run/docker。sock -v /docker/portainer_data:/data portainer/portainer-ce:latest

基於PVE的allinone玩法之二(docker的基礎應用)

可能需要調整的就是對映的埠,其他的沒啥

安裝完成以後在瀏覽器輸入ubuntu(宿主機)的IP:9000,我的是10。0。0。111:9000,就可以看到portainer的介面,點到各模組裡可以看到各容器的執行情況,也可以對容器進行開啟關閉等操作。也可以直接透過portainer搜尋進行拉取並執行,但個人還是比較習慣用命令列的方式執行容器,portainer主要是用於日常的管理工作。

基於PVE的allinone玩法之二(docker的基礎應用)

如果有更新會在右下角進行提示,但無法直接升級,需要刪除容器後重新拉取新的映象重新安裝進行升級,具體操作方式如下:

sudo docker stop portainer #關閉容器

sudo docker rm portainer #刪除容器

docker run -d -p 9000:9000 ——name=portainer ——restart=always -v /var/run/docker。sock:/var/run/docker。sock -v /docker/portainer_data:/data portainer/portainer-ce:latest

Jellyfin的安裝和使用

第一步,將群暉儲存影片的目錄掛載到ubuntu上,具體操作如下

apt-get install nfs-common #安裝nfs服務

sudo mkdir -p /home/peng/nas/ds918/video #建立一個/home/使用者名稱/nas/ds/video的資料夾,無所謂建立在哪,能找到就行

基於PVE的allinone玩法之二(docker的基礎應用)

第二步,開啟群暉nfs共享,並設定需要共享的資料夾,我這裡是將videos資料夾共享

基於PVE的allinone玩法之二(docker的基礎應用)

開啟nfs服務

基於PVE的allinone玩法之二(docker的基礎應用)

設定資料夾nfs許可權

基於PVE的allinone玩法之二(docker的基礎應用)

記錄下這個裝載地址

第三步,將群暉的videos資料夾掛載到ubuntu下的資料夾,路徑就是剛才建立的/home/使用者名稱/nas/ds918/video

sudo mount -t nfs 10。0。0。110:/volume2/videos /home/peng/nas/ds918/video #10。0。0。110是群暉的ip地址,每次重啟ubuntu的時候都需要重新掛載

檢驗一下是否掛在成功,如果能看到群暉videos資料夾下的檔案,那就說明成功了

ls /home/peng/nas/ds918/video

基於PVE的allinone玩法之二(docker的基礎應用)

第四步,準備工作做完了,就可以安裝jellyfin的容器了,操作如下

docker run -d ——name jellyfin4docker ——device=/dev/dri/renderD128 ——add-host=api。themoviedb。org:13。33。33。51 ——add-host=image。tmdb。org:13。227。65。112 ——add-host=www。themoviedb。org:99。86。218。110 -p 8096:8096 -v /docker/jellyfin/config:/config -v /home/peng/nas/ds918/video:/media nyanmisaka/jellyfin

基於PVE的allinone玩法之二(docker的基礎應用)

jellyfin就部署完成了,直接透過host ip:8096訪問,我的是100。0。0。111:8096

進入jellyfin以後按照引導進行設定就行了,由於直通了核顯,所以可以硬解,如下圖設定即可

基於PVE的allinone玩法之二(docker的基礎應用)

完成伺服器端的的部署後就可以播放了,可以直接透過網頁或是安裝對應平臺的客戶端,還是挺好用的。

tinymediamanager的安裝和使用

安裝了jellyfin解決了轉碼和播放的需求,但是由於檔名的不規範,搜刮功能一般,所以就需要tinymediamanager,

首先在宿主機上建立一個儲存config的資料夾,路徑是/home/使用者名稱/cfg4docker/tmm

sudo mkdir -p /home/peng/cfg4docker/tmm

然後執行以下命令就可以完成tmm的配置,其中/home/peng/nas/ds918/video換成自己掛載的路徑

docker run -d ——name=tinymediamanager ——add-host=api。themoviedb。org:13。33。33。51 ——add-host=image。tmdb。org:13。227。65。112 ——add-host=www。themoviedb。org:99。86。218。110 -v /home/peng/cfg4docker/tmm:/config -v /home/peng/nas/ds918/video:/media -e GROUP_ID=0 -e USER_ID=0 -p 5800:5800 -p 5900:5900 romancin/tinymediamanager:latest

完成以後在瀏覽器上輸入host:5800,我的是10。0。0。111:5800

進去以後如果設定中文,顯示有問題,各種小方塊,為解決這個問題,首先要下載字型,連結就不發了,可以百度自行搜尋一下

下載完成以後把它拖入mobaxterm的左邊,我是放在了/home/peng目錄下

基於PVE的allinone玩法之二(docker的基礎應用)

然後執行下面的命令,將字型檔複製到docker容器下的制定目錄

docker cp /home/peng/SourceHanSansSC-VF。otf tinymediamanager:/usr/share/fonts/SourceHanSansSC-VF。otf

重啟tmm的容器後就生效了,可以設定中文了,具體的用法我這裡就不多做介紹了,應該是有不少可以參考的教程,而且我覺得docker版本的tmm並不好用,還是在桌面os上安裝更好一點,這裡只是給大家一種選擇

基於PVE的allinone玩法之二(docker的基礎應用)

transmission的安裝和使用

大部分nas玩家還是有掛pt的需求,這裡只介紹transmission的安裝和使用,主要是是比較順手,和jellyfiny一樣,首先是要掛載群暉的下載資料夾,然後安裝,由於掛載的操作前面已經介紹過了,這塊就簡單寫了,操作如下

sudo mkdir -p /home/peng/nas/ds918/download

sudo mkdir -p /home/peng/nas/ds918/download/0config #儲存配置檔案

sudo mkdir -p /home/peng/nas/ds918/download/0watch #設定監視資料夾

sudo mount -t nfs 10。0。0。110:/volume2/download /home/peng/nas/ds918/download

下面是建立並啟動transmission的容器,使用者名稱設定的是user,密碼123456,-v後面的根據實際情況修改宿主機路徑,就是冒號前的部分

docker run -d ——name=transmission -e PUID=1000 -e PGID=1000 -e TZ=Europe/London -e TRANSMISSION_WEB_HOME=/combustion-release/ -e USER=user -e PASS=123456 -p 9091:9091 -p 51413:51413 -p 51413:51413/udp -v /home/peng/nas/ds918/download/0config:/config -v /home/peng/nas/ds918/download:/downloads -v /home/peng/nas/ds918/download/0watch:/watch ——restart unless-stopped lscr。io/linuxserver/transmission

完成操作後就可以輸入 host ip:9091啟動了,我這裡是10。0。0。111:9091,網頁版其實並不好用,可以安裝transmission gui remote,這個我就不管了,哈哈,直接百度即可

總結

這篇介紹了一些比較基礎的docker應用,透過portainer管理docker,基於docker進行下載、流媒體服務以及搜刮應用,下期會繼續介紹其他一些docker應用。

股民福利來了!送您十大金股!點選檢視>>