MAC: docker compose mount permission denied 挂载失败

最近新加入一个项目,用到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文件里,把下面的字段改一下:

MAC: docker compose mount permission denied 挂载失败_第1张图片

在docker nfs的sh脚本里,把下面的字段改一下

MAC: docker compose mount permission denied 挂载失败_第2张图片

问题完美解决,主要是/Users 目录变成了 /System/Volumes/Data下面了,大家可以打开bash 

cd /Users 和 cd /System/Volumes/Data/Users是一个目录。

你可能感兴趣的:(MAC,Docker,NFS)