我在 Mac os 10.15.3 上升级到最新版本的 docker 后。我再次遇到 Mounts denied 错误。
以下是版本:
Docker desktop: 2.2.0.3(42716)
Engine: 19.03.5
Mac osx: Catalina(10.15.3)
Docker compose: 1.25.4
我尝试将 /var/data/test:/var/data/test
挂载到 docker-compose 文件中。而我在File Sharing
菜单中选择文件夹,结果是/private/var/data/test
,无法编辑了。
如果我尝试运行 docker-compose up
,总是会出现 Mounts denied
错误。
ERROR: for c9430ce45017_xxx-SNAPSHOT Cannot start service xxx: Mounts denied:
The path /var/data/test
is not shared from OS X and is not known to Docker.
You can configure shared paths from Docker -> Preferences... -> File Sharing.
See https://docs.docker.com/docker-for-mac/osxfs/#namespaces for more info.
更新:
正如@tripleee 建议的那样,我将撰写文件编辑为 /private/var/data/test:/var/data/test
,它有效。但它不能在 Linux 服务器上运行。
最佳答案
感谢@GordonDavisson 分享你的两分钱。
即使我无法通过 docker 桌面 GUI 放置 /var/data/test
,我最终还是从命令行设置了共享文件目录。
GUI 中显示的共享文件夹列表也可以在 ~/Library/Group Containers/group.com.docker/settings.json
中编辑。
如果用户已经修改过共享文件夹,settings.json
中已经存在“filesharingDirectories”数组,只需在json数组中添加路径即可。如果未修改,则该数组不会出现在 settings.json
中,但除了默认路径之外,您还可以将其添加到您的路径中:
"filesharingDirectories" : [
"/Users",
"/Volumes",
"/private",
"/tmp",
"/usr/local/share/dotnet/sdk/NuGetFallbackFolder"
]
最终,应用需要重新启动,以便文件夹在 VM 中可见。
致谢link
最后,我将 /var/data/test
放在 settings.json
中,在重新启动 docker 后它就可以工作了。
关于macos - Docker 无法在 Mac OS 上挂载/var 下的任何文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60281263/