如何从 VMware Fusion 客户系统中的 docker 容器内访问主机?

如何从 VMware Fusion 客户系统中的 docker 容器内访问主机?

我在运行 Catalina 的 Mac 上下载、安装并设置了在 VMware Fusion 下运行的 Ubuntu 19.10 服务器。我能够通过添加.host:/ /mnt/hgfs fuse.vmhgfs-fuse defaults,allow_other,uid=1000 0 0到我的 /etc/fstab 将客户系统连接到我的主机(在 Stack Exchange 的帮助下)。

但是,当我运行 docker 容器时,我无法从容器内部访问 /mnt/hgfs 文件夹。

我也使用 将 Mac OS 上的 docker 连接到 ubuntu-server --driver generic。这显示了相同的症状。(甚至更糟糕的是:-v 选项只显示一个空文件夹)。

我需要做什么才能从 VMware Fusion 下运行的 Docker 容器中访问我的 Mac 主机文件?

答案1

好的,搞定了!问题在于获取/dev/fuse容器内的访问权限。

这个问题实际上几乎与https://stackoverflow.com/questions/48402218/fuse-inside-docker

您需要做的就是授予设备访问权限/dev/fuse,然后就可以挂载原始共享文件夹:

docker run --device /dev/fuse -v /mnt/hgfs:/mnt/hgfs <image>

仅供参考,这也适用于 Parallels 中的 Docker,不同之处在于 Parallels 共享文件夹是/media/psf

docker run --device /dev/fuse -v /media/psf:/media/psf <image>

相关内容