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

需要登入才可留言!

類似的文章


laravel,docker

如何自訂Laravel分頁

最近閒了一點,想說來調整一下網站上下頁的箭頭,如果您還不太了解如何自訂Laravel的分頁, 可以來看看三分鐘簡短的介紹,我如何自訂Laravel的分頁。

php,docker,dlaravel

我建立的phpenv容器環境簡單介紹

沒時間拍介紹影片,我就來隨便抓些畫面介紹我使用的容器環境deviny/phpenv。https://github.com/DevinY/phpenvphpenv算是我之前D-Laravel開源專案的進化版本,概念上延用了很多Dlaravel的操作方式。容器的更新上偏向使用者自行控制去Build自己的image,所以我不太會去更動版號了,其實D-Laravel的php版號,好像我也很久沒動啦:p 

docker

如何更新或重建D-Laravel的FPM Image

有時,docker的Image會進行一些修正或加入更多的外掛,我們要如何來更新電腦中的image呢? 非常簡單,使用docker pull [使用的image即可],如果想建立自己的image也是可行的...