最近新加入一個項目,用到mac上的nfs,需要用docker去掛載。現成的yaml,執行卻報錯:
通過日誌可以看出來,問題是定位在本地,是權限問題。
這個bug坑也是搞了一天,某度無果後,轉向國外github和stackoverflow求助,終見效。貼出鏈接:
https://gist.github.com/seanhandley/7dad300420e5f8f02e7243b7651c6657
首先上面是一個可以參考的docker compose的yaml文件,下面是本地docker啓動nfs的腳本,均是通用腳本。
但是這個卻在我們這個月初發布的mac os 卡特琳娜卻不好使了。原因如下:
https://vivait.co.uk/labs/docker-for-mac-performance-using-nfs
https://www.firehydrant.io/blog/nfs-with-docker-on-macos-catalina/
https://github.com/drud/ddev/issues/1869
這裏簡單說一下我的理解,爲了照顧英語不好的小夥伴(大神自動忽略,可以去精讀一下原貼)。
主要是新的系統更新,原來的Users目錄發生了改變。
我們需要在yaml文件裏,把下面的字段改一下:
在docker nfs的sh腳本里,把下面的字段改一下
問題完美解決,主要是/Users 目錄變成了 /System/Volumes/Data下面了,大家可以打開bash
cd /Users 和 cd /System/Volumes/Data/Users是一個目錄。