掛載功能讓管理員可以把主機檔案系統上的其他目錄,掛載進伺服器的容器裡使用。
出於安全性考量,節點預設是不允許掛載任何目錄的,想要開放掛載某個目錄,一定要在 Wings 設定裡明確指定才行。
做法是打開 Wings 的設定檔(/etc/pterodactyl/config.yml),在 allowed_mounts 欄位裡列出允許掛載的目錄。這裡列出的目錄,連同它底下的所有子目錄都會一併開放掛載。
allowed_mounts:
- /example
改完設定檔後別忘了重新啟動 Wings,這樣變更才會生效。
光是在 Wings 允許還不夠,你還得在管理用 Panel 裡把掛載設定好,伺服器才能真正用上它。一個掛載,簡單來說就是由「節點上的來源路徑」和「容器內的目標路徑」這兩者組合而成。
容器中的路徑
掛載可以放在 /home/container 底下的任意子目錄,也可以直接掛載到這個目錄本身。甚至你還能跨伺服器掛載,例如把伺服器 A 的目錄掛給伺服器 B 用。這裡要注意的是,目標資料夾必須事先存在,掛載才會正常運作。
/home/container,請事先確認資料夾已存在。多台伺服器使用的掛載
小提醒:使用同一個掛載的伺服器,只有彼此位在同一個節點上時,內容才會共享。掛載並不會跨節點自動同步。
設定完成後,掛載裡的檔案就會出現在容器的目標路徑下。想確認有沒有掛好,可以把伺服器的啟動指令暫時改成 ls <mount target>;如果一切設定正確,執行結果應該會列出掛載內容。
無法存取掛載
這裡要留意,掛載不會顯示在 Panel 的檔案管理器裡,也沒辦法透過 SFTP 存取到。不過不用擔心,伺服器本身仍然可以正常讀取並使用掛載的內容,只是管理介面看不到而已。
下面舉個實際的例子:掛載內容存放在 /var/lib/pterodactyl/mounts 這個路徑,我們把它加進 Wings 的 config.yml 裡。
allowed_mounts:
- /var/lib/pterodactyl/mounts
