一、Container Station
QNAP Container Station (軟件容器工作站) 支持 LXD 與 Docker?、Kata 等輕量級虛擬技術。您可在 QNAP NAS 上運行完整的 Linux? 虛擬機,并由 Docker? Hub/LXD 映像文件服務器在線軟件市場隨選下載來自全球各地的應用程序。
??具體的定義,大家可以去網上找,網絡上的linux、寶塔等中docker的相關操作,應該是可以在威聯通的Container Station中執行的。如果是命令行的形式,則可以用ssh登錄到威聯通,然后執行,操作是差不多的。
二、MariaDB安裝
??進入到App Center,點擊“全部的應用程序”,搜索“MariaDB”,安裝即可(我是安裝的最新的5.1.0.3.255)。
??按提示一步步安裝好,端口一般都是3306。
三、phpMyAdmin安裝及nextcloud對應數據庫配置
(一)phpMyAdmin安裝
??操作同MariaDB安裝
(二)nextcloud對應數據庫配置
??其實大部分的網友根據網絡上的帖子(123步驟教程)安裝Nextcloud時會遇到無法連接數據庫問題,或者是被告知連接數據庫名/或密碼錯誤等問題,都在于使用phpMyAdmin創建數據庫時配置的不對。
??網絡上幾乎所有的教程,都在使用phpMyAdmin配置MariaDB數據庫時,先創建數據庫,后創建數據庫用戶名,并勾選了全部權限,正確的做法應該是:直接點擊創建用戶,并勾選創建與用戶名相同的數據庫,取消勾選全部權限。
??進入phpMyAdmin管理界面,依次點擊:賬戶→新增用戶賬戶。
??接著正常輸入數據庫【用戶名】,【密碼】,并勾選【創建與用戶同名的數據庫并授予所有權限】,最后點擊右下角的【執行】。
??這樣數據庫就配置完了。
四、Container Station中部署nextcloud
(一)拉取鏡像
??在終端執行以下命令,拉取 Nextcloud 鏡像:
docker pull nextcloud
??拉取到的 Nextcloud 鏡像的 tag 是 latest,顯示以下信息即表示拉取成功:
Using default tag: latest
latest: Pulling from library/nextcloud
bc51dd8edc1b: Pull complete
a3224e2c3a89: Pull complete
be7a066df88f: Pull complete
bfdf741d72a9: Pull complete
a9e612a5f04c: Pull complete
c026d8d0e8cb: Pull complete
d94096c4941c: Pull complete
5a16031a7587: Pull complete
0cf1daf9efc0: Pull complete
b202acb13a6c: Pull complete
907001e30880: Pull complete
2e4b329c80b2: Pull complete
cd1ec92e7164: Pull complete
8cba435f5ca6: Pull complete
e15a177658f6: Pull complete
9b26736059ce: Pull complete
53dbece8c17a: Pull complete
07158f924c2a: Pull complete
5ea6266119b8: Pull complete
e377a8cc542f: Pull complete
5662efc30cde: Pull complete
Digest: >sha256:fa863d16c10387f4bae140bdd38f5591aa4b88f1292593d>cffa501b9e1a76e58
Status: Downloaded newer image for nextcloud:latest
docker.io/library/nextcloud:latest
(二)啟動容器
??執行以下命令,啟動 Nextcloud 容器(冒號左邊的80是本機也就是nas的端口 可以自己改一個,右邊的是docker對應的端口):
docker run -d --restart=always --name nextcloud -p 80:80 nextcloud
簡單解釋一下上述命令:
- docker run :啟動一個容器
- d:后臺運行容器
- --restart=always:Docker 重啟的時候容器也會重啟
- --name nextcloud:命名容器的 name 為 nextcloud,可以替代容器 id 使用
- -p 80:80:將容器的 80 端口映射到服務器的 80 端口
- nextcloud:要啟動的鏡像名稱
??更多參數可以參考:https://hub.docker.com/_/nextcloud/
??執行之后會顯示一個類似下面的長串字符,表示啟動成功:
526306c7a591205f6d2cd417384571b358e738e3c8b52c16c1fc6f1893c8535f
??也可以使用下面命令查看容器是否正常運行:
docker ps
??如果顯示以下內容,表明容器已經在運行中了:
CONTAINER ID | IMAGE | COMMAND | CREATED | STATUS | PORTS | NAMES |
---|---|---|---|---|---|---|
619d34210996 | nextcloud | "/entrypoint.sh apac…" | 1 hours ago | Up 1 hours | 0.0.0.0:80->80/tcp | nextcloud |
(三)初始化安裝(我沒裝防火墻,所以,這一步我好像沒涉及)
??需要注意的是,如果使用的阿里云或騰訊的服務器,要檢查服務器的安全組是否開放了 80 端口,沒有開放的需要開放一下。
??如果使用的是本地虛擬機,需要執行以下命令開放 80 端口對外訪問:
firewall-cmd --zone=public --add-port=80/tcp --permanent
??然后更新防火墻規則:
firewall-cmd --reload
五、nextcloud連接數據庫
??在docker中按照網絡上的教程,配置好nextcloud后,用威聯通IP+nextcloud端口號訪問,進入安裝界面。
??在“用戶名”和“密碼”中設置自己的初始管理員賬號密碼。
?? “數據庫用戶”、“數據庫密碼”、“數據庫名”就填寫第三步第二點中創建的數據庫及用戶相關信息(可以直接都設成“nextcloud”)。
??重點來了,最后一行,網上有很多種不同的說法,經過嘗試均失敗。
??后來經過嘗試,成功的方法就是:威聯通的IP地址+MariaDB的端口號。不用輸入什么127.0.0.1,也不用輸入什么172.17.0.1,或者什么橋接IP。快準狠的方法就是直接輸入:
??你的威聯通IP地址:MariaDB的端口號。
?? 注意:有的端口是3306、有的是3307,這要看你安裝的MariaDB是什么版本的。具體查看方法如下圖:進入套件中心,已安裝套件,點擊MariaDB就看到了。