大家好,這里是Cherry,喜愛折騰、撿垃圾、玩數(shù)碼,熱衷于分享NAS、docker玩耍經(jīng)驗~

前言

綠聯(lián)私有云上一次大版本更新是在7月中旬,版本號是1.0.0.1150,當時cherry專門寫了一篇文章介紹了一下更新的核心功能。

也不知道是巧合,還是綠聯(lián)內部形成慣例?8月同樣的時間點,綠聯(lián)連發(fā)2版更新,修復了一些問題,并且新增了一些還不錯的功能。

這里我繼續(xù)和大家分享一下我認為重要最重要的功能,docker compose支持。


一、docker更新支持容器堆疊

容器堆疊,又稱stack,就是我們俗稱的docker compose項目。

docker compose堆疊的優(yōu)勢:

  1. 簡易性:通過一個 docker-compose.yml 文件集中管理多個容器的配置,使得部署和管理應用程序變得更加簡單和直觀。
  2. 安全性:通過Docker Compose部署的容器,在組內支持通過容器名訪問,可以減少不必要的端口透出,增加網(wǎng)絡安全性。
  3. 快速迭代和部署:Docker Compose 支持快速啟動、停止和重新構建容器,加速了開發(fā)和部署過程,同時簡化了持續(xù)集成和持續(xù)部署(CI/CD)的集成。

以往的綠聯(lián)私有云,在管理頁面上,只支持單個容器的創(chuàng)建和使用,對于不同容器間的訪問設置比較復雜。雖然我們可以使用ssh、portainer、dockge等其它方式來部署compose,但是部署和操作難度會提升很多,對于新人用戶來說也不夠友好。

手動創(chuàng)建容器,無法使用link等方式鏈接不同容器。

綠聯(lián)云docker史詩級更新,深入淺出的介紹一下綠聯(lián)云如何使用新推出的項目功能image.png

堆疊方式創(chuàng)建容器,可以方便的管理項目,查看項目內的日志、性能監(jiān)控等。

綠聯(lián)云docker史詩級更新,深入淺出的介紹一下綠聯(lián)云如何使用新推出的項目功能image.png

二、通過項目功能,創(chuàng)建一個compose項目

這里拿一個比較實用的導航欄工具Mtab項目,供大家實操體驗。首先打開docker應用,選擇【項目】,點擊【創(chuàng)建】按鈕。

綠聯(lián)云docker史詩級更新,深入淺出的介紹一下綠聯(lián)云如何使用新推出的項目功能image.png

在項目名稱處填入mtab,這個名字可以自定義,一般跟項目一樣就行了。個人認為綠聯(lián)云做的很好的地方在于【存放路徑】自動生成功能,相比較于其它NAS,使用compose的時候需要新創(chuàng)建文件夾,或者選定路徑才可以,會多一步操作。綠聯(lián)云則是在docker這個共享文件夾下,根據(jù)項目名稱新建一個同名文件夾。

綠聯(lián)云docker史詩級更新,深入淺出的介紹一下綠聯(lián)云如何使用新推出的項目功能image.png

在Compose配置處,復制我們的代碼,也可以通過本地計算機或NAS存儲導入docker-compose.yaml代碼。這里需要提一下,如果環(huán)境變量中涉及到PUID、PGID等信息的,我們不需要填寫,綠聯(lián)云本次更新已經(jīng)適配了自動將各類用戶信息自動填入環(huán)境變量的功能,基本上能解決所有docker容器的權限問題。

綠聯(lián)云docker史詩級更新,深入淺出的介紹一下綠聯(lián)云如何使用新推出的項目功能image.png

可復制的代碼如下,直接復制就行。

version: "3"

services:

mtab:

image: itushan/mtab

container_name: mtab

ports:

- "9200:80"

volumes:

- ./data:/app

restart: always

mysql:

image: mysql:8.0

container_name: sql

restart: always

environment:

MYSQL_DATABASE: mtab

MYSQL_USER: mtab_user

MYSQL_PASSWORD: mtab_passwd

MYSQL_ROOT_PASSWORD: mtab_root_passwd

volumes:

- mysql_data:/var/lib/mysql

command: ["--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci"]

volumes:

mysql_data:

這里特別強調一下關于volumes卷的部分。一般來說,定義docker容器的存儲位置時,我們需要在yaml文件里明確持久化存儲的絕對路徑,一般比較常見的:

群暉的路徑是/volume1/docker/xxxx;

威聯(lián)通的路徑是/share/Container/xxxx;

鐵威馬的路徑是/Volume1/docker/xxxx;

Unraid的路徑是/mnt/user/appdata/xxxx。

可以看到,不同品牌NAS對存儲空間的路徑規(guī)劃都是不同的。綠聯(lián)UGOS系統(tǒng)里,這個路徑是/mnt//dm-0/.ugreen_nas/長數(shù)字/docker/,十分復雜。

在UGOS Pro系統(tǒng)中,綠聯(lián)將這個路徑優(yōu)化了,也同樣是 /volume/docker/xxxx,即我們在頁面上看到的 /共享文件夾/docker/mtab ,而這個共享文件夾則和我們安裝docker應用的目錄保持一致的。

但是!但是!和群暉一樣,如果文件夾路徑中沒有文件存在,綠聯(lián)云也是不會執(zhí)行mkdir新建文件夾的行為的,我們必須先在對應的路徑創(chuàng)建文件夾以后才可以使用絕對路徑,否則會像下面的圖片一樣報錯。

綠聯(lián)云docker史詩級更新,深入淺出的介紹一下綠聯(lián)云如何使用新推出的項目功能image.png

所以,為了解決這個問題。建議大家在綠聯(lián)云的compose代碼中的任何卷路徑,都可以使用相對路徑的方式來操作,即./data,代表在存放路徑下創(chuàng)建文件夾。

綠聯(lián)云docker史詩級更新,深入淺出的介紹一下綠聯(lián)云如何使用新推出的項目功能image.png

三、關于如何管理compose項目

在項目欄里,最核心的功能就是日志,通過日志我們可以查找具體的部署問題和運行信息。紅框內的名字,代表的是項目里不同容器的名稱,默認的排序是參照時間進度的,所以我們可以很簡單的發(fā)現(xiàn)不同容器間互相訪問、調用的日志信息。

綠聯(lián)云docker史詩級更新,深入淺出的介紹一下綠聯(lián)云如何使用新推出的項目功能image.png

資源監(jiān)控頁面,可以看到組內各容器對資源的使用占比。包含了CPU、內存、上行帶寬、下行帶寬等。

綠聯(lián)云docker史詩級更新,深入淺出的介紹一下綠聯(lián)云如何使用新推出的項目功能image.png

如果發(fā)現(xiàn)堆疊項目出現(xiàn)異常,需要重新部署的時候,我們只需要在compose配置一欄里,實時修改新的內容,然后點擊重新部署即可。

綠聯(lián)云docker史詩級更新,深入淺出的介紹一下綠聯(lián)云如何使用新推出的項目功能image.png

如果平時項目不用了,我們也可以直接刪除。經(jīng)過實測,yaml文件依舊會保留在存儲空間內,我們下次需要重建項目的時候,只需要導入yaml文件即可,方便程度絕對暴打普通的容器創(chuàng)建。

綠聯(lián)云docker史詩級更新,深入淺出的介紹一下綠聯(lián)云如何使用新推出的項目功能image.png

寫在最后

綠聯(lián)私有云對compose的支持,正如我曾在系統(tǒng)介紹里提到的關于UGOS Pro未來可擴展性的說法。將系統(tǒng)底層從op轉變到debian所花費的力氣,從長遠看絕對會帶來更多的自由度和開發(fā)便利性。

仔細看了看本次8月更新的內容,包含了頁面優(yōu)化、文件管理、應用優(yōu)化與功能更新,部分依舊是基礎性功能,但也包含了很多新功能以及領先功能的推出。只要綠聯(lián)云可以一直掌握住目前的更新頻率和優(yōu)化進度,整個UGOS Pro系統(tǒng)肯定會越來越趨向于成熟、好用。

作者聲明本文無利益相關,歡迎值友理性交流,和諧討論~

,

聲明:本站所有文章,如無特殊說明或標注,均為本站原創(chuàng)發(fā)布。任何個人或組織,在未征得本站同意時,禁止復制、盜用、采集、發(fā)布本站內容到任何網(wǎng)站、書籍等各類媒體平臺。如若本站內容侵犯了原著者的合法權益,可聯(lián)系我們進行處理。