Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 使用osxfs的mac docker卷装载不工作_Macos_Docker_Mount - Fatal编程技术网

Macos 使用osxfs的mac docker卷装载不工作

Macos 使用osxfs的mac docker卷装载不工作,macos,docker,mount,Macos,Docker,Mount,Docker Desktop for Mac开始使用osxfs支持MacOS上的卷装载。根据,这样的命令应该将~/Desktop目录装载到docker容器: docker run -it -v ~/Desktop:/Desktop r-base bash 虽然我确实看到了预期的桌面目录,但其内容是空的: root@80cb534e4eeb:/# ls bin boot Desktop dev etc home lib lib64 media mnt opt proc r

Docker Desktop for Mac开始使用
osxfs
支持MacOS上的卷装载。根据,这样的命令应该将
~/Desktop
目录装载到docker容器:

docker run -it -v ~/Desktop:/Desktop r-base bash
虽然我确实看到了预期的
桌面
目录,但其内容是空的:

root@80cb534e4eeb:/# ls
bin  boot  Desktop  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@80cb534e4eeb:/# ls Desktop/
root@80cb534e4eeb:/# exit
exit 
桌面
目录中肯定有本地文件

Users-MacBook-Pro:~ user$ ls Desktop/
Screen Shot 2019-03-25 at 10.34.58.png      Screen Shot 2019-03-25 at 22.26.10.png      Screen Shot 2019-03-27 at 07.34.55.png
Screen Shot 2019-03-25 at 10.35.59.png      Screen Shot 2019-03-25 at 22.26.11.png      Screen Shot 2019-03-28 at 15.14.48.png
Screen Shot 2019-03-25 at 22.26.08.png      Screen Shot 2019-03-25 at 22.47.32.png      Screen Shot 2019-04-05 at 09.26.12.png
Screen Shot 2019-03-25 at 22.26.10 1.png    Screen Shot 2019-03-27 at 07.34.33.png 
根据首选项窗口,应该可以访问
/Users
目录。似乎docker配置有问题,但我还没有发现任何类似的问题报告。与osxfs相关的大多数问题都与IO性能有关。关于如何进一步解决/调查这个问题有什么想法吗


首选项中的Docker factory reset修复了该问题,但根本原因仍然未知。解决这类问题的一种方法是卷装Docker for mac使用的linux虚拟机的根,然后四处查看。这可以通过以下方式实现:

docker run--rm-v/:/vm_root--entrypoint=sh alpine-c'ls-l/vm_root/'

能否尝试将运行docker的vm的根目录作为卷装载,并查看是否可以通过这种方式访问桌面文件夹。类似于
docker run--rm-v/:/vm\u root--entrypoint=sh-alpine-c'ls-l/vm\u root/Users/user/Desktop'
尝试过,没有可见的文件。还尝试以相同的方式访问用户目录
ls-l/vm\u root/Users/user
,我发现那里唯一的文件夹是我已经尝试装载的文件夹(即使是本地不存在的文件夹)。看起来虚拟机的
Users
目录与本地文件系统的目录不对应。好吧,这很奇怪。也许试着为mac做docker的工厂重置?感觉像是某个地方的mac bug码头工人?您在首选项中配置的任何路径都有效吗?这就成功了。谢谢现在还不清楚是什么原因造成的,我在第一次安装Docker之后就没有让它工作过。好的,很好!即使我们不知道答案,我也应该写一个正确的答案吗?你能澄清一下你所说的
是什么意思吗?当然!这有点令人困惑。从macOS主机与docker共享的路径(您在Preferences/Files shared中看到的路径)从macOS装载到运行docker守护进程的linux VM中,路径与macOS中的路径相同。在我的示例中,我展示了如何通过运行一个装载vm根文件系统的容器来访问它。问题是docker不允许有充分的理由执行
-v/:/
,因此我们必须将其装载到容器中的某个位置,因此我将其命名为
/vm\u root
。尝试
docker run--rm-ti-v/:/vm_root--entrypoint=sh alpine
获取shell。希望有帮助。所以我所说的
是指macOS中的一些路径,比如
/Users/…
等等