by Devin Yang

建立於: 5年前 ( 更新: 5年前 )

在D-Laravel上的NFS掛載說明:
volumes:
  sites:
    driver: local
    driver_opts:
      type: nfs
      o: addr=host.docker.internal,rw,nolock,hard,nointr,nfsvers=3
      device: ":/Users/devin/dlaravel/sites"
在上方的device項目,我用的是sites的絕對路徑,這樣子,在console別名的狀態下才不會出問題。
您預設的設定的設定會像下方這樣:(代表了docker-compose的啟動要在D-Laravel的目錄上執行)
device: ":${PWD}/sites"
關於D-Laravel的NFS設定,您可以參看下方連結:
https://www.ccc.tc/notes/nfs-docker-and-laravel

記錄一些NFS上使用的參數

nolock
選擇是否使用NLM邊帶協議鎖定服務器上的文件。 如果未指定任何選項(或未指定鎖定),則NLM鎖定用於此安裝點。 使用nolock選項時,應用程序可以鎖定文件,但是這種鎖定僅對同一客戶端上運行的其他應用程序提供排除。 遠程應用程序不受這些鎖的影響。

使用NFS掛載/ var時,必須使用nolock選項禁用NLM鎖定,因為/ var包含Linux上NLM實現使用的文件。 在不支持NLM協議的NFS服務器上安裝導出時,也需要使用nolock選項。
soft/hard
確定NFS請求超時後NFS客戶端的恢復行為。 如果未指定任何選項(或未指定hard選項),則將無限期重試NFS請求。 如果指定了soft選項,則在發送重傳重傳後,NFS客戶端將使NFS請求失敗,從而導致NFS客戶端向調用應用程序返回錯誤。

注意:在某些情況下,所謂的“軟”超時可能會導致無聲數據損壞。 因此,僅當客戶端響應比數據完整性更重要時,才使用soft選項。 在TCP上使用NFS或增加retrans選項的值可以減輕使用soft選項的某些風險。
intr/nointr
選擇是否允許信號中斷此安裝點上的文件操作。 如果未指定任何選項(或未指定nointr),則信號不會中斷NFS文件操作。 如果指定了intr,則在進行中的NFS操作被信號中斷時,系統調用將返回EINTR。

其他太簡單了,用想的都猜的出來,rw就是可讀寫。nfsvers=3使用nfs3進行掛載,

Tags: docker nfs macos

Devin Yang

文章內容無法一一說明,如果您有什麼不了解處,歡迎提問哦:)

No Comment

Post your comment

需要登入才可留言!

類似的文章


docker,laravel

[D-Laravel]./console node

進行Laravel開發時,有時我們會需要透過npm安裝nodejs的套件,但是偏偏我們系統中的Node又不夠新。 或許因某些因素沒法升級,例如要跑舊版的nodejs程式等。 其實我們可以透過簡單的指令,用docker,讓我們就能使用最新版本的node image來掛載host端的/sites資料夾囉。 這麼一來我們就可以隨時執行新版本的npm指令啦。

linux,docker,wifi

用docker建立WPA2/EAP企業用Radius驗證伺服器,後端使用mysql資料庫

AP提供了WPA2/EAP功能,但不會用嗎? 本文介紹我如何透過docker的ubuntu:21.04 image,極速建立Radius伺服器, 與Wifi的WPA2/EAP等相關運用。

dlaravel,docker

D-Laravel學習三階段

閒聊D-Laravel的使用的三階段,為何使用D-Laravel。 因為D-Laravel使用的設定檔都相當的簡單,極適何Docker的初學者學習, 並且就自不懂Docker運用的使用者,也可以借住./console及./create兩個指令建立專案。