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

需要登入才可留言!

類似的文章


Emoji, MacOS

⌘+control+空白 (Emoji on Mac)

⌘+control+空白 (Emoji on Mac)

wordpress, d-laravel, docker, docker-compose

如何用D-Laravel安裝Wordpress

約8分鐘的教學影片,介紹在D-Laravel上安裝Wordpress. D-Laravel是一個docker-compose的Laravel框架開發環境,但不代表他不能拿來裝別的東西。 這個影片,介紹使用D-Laravel安裝非Laravel的PHP專案, 您可以學到D-Laravel上的相關指令用法: ./create --host用法, docker-compose up -d及 ./console mysql用法, D-Laravel v1.0.0版後的資料庫連線設定方式。

docker, d-laravel, docker-compose, laravel

docker-compose載入多個設定檔

我們會用docker --network建立多個container互連,但是如果四個container時, 是不是就要下四次docker run不同container的指令,殺了我吧, 本文介紹透過docker-compose這個yaml檔定義一次搞定多個container的建立。 了解如何用dokcer-compose -f 參數載入多個設定檔。