by Devin Yang

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

在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

需要登入才可留言!

類似的文章


cli,linux,macos

如何用find刪除建立時間為準的舊檔案

這功能很好用,但要很小心,先看再刪,弄錯目錄會死很慘 

docker,cli

Docker容器格式化顯示

我覺的如果要寫一些自動化功能,或許能夠格式化的輸出容器內容還滿有用的。以下一些Docker容器格式化顯示指令的參考範例

docker,php,cli

MacOS的php不給力,用docker執行laravel installer

非常簡單呀,加個「別名」就好了alias laravel='docker run --rm -v ${PWD}:/var/www/html -v ~/.dlaravel/cache:/home/dlaravel/.composer/cache -ti deviny/fpm:8.1.10 /home/dlaravel/.composer/vendor/bin/laravel'