Docker Can';t访问流浪机器上的流浪文件夹(陈旧文件句柄)

Docker Can';t访问流浪机器上的流浪文件夹(陈旧文件句柄),docker,vagrant,vagrantfile,Docker,Vagrant,Vagrantfile,我现在已经被一个问题困扰了两天了。 我最近将我的mac OS更新为OS Catalina(我知道我应该等待),我无法访问vagrant机器上的/vagrant文件夹 我的nfs配置如下所示: project_config.vm.synced_folder ".", "/vagrant", type: "nfs", mount_options: ['rw', 'vers=3', 'tcp', 'fsc', 'nolock', 'actimeo=2'] 这是我尝试在vagrant ssh中执行ls

我现在已经被一个问题困扰了两天了。 我最近将我的mac OS更新为OS Catalina(我知道我应该等待),我无法访问vagrant机器上的
/vagrant
文件夹

我的nfs配置如下所示:

project_config.vm.synced_folder ".", "/vagrant", type: "nfs", mount_options: ['rw', 'vers=3', 'tcp', 'fsc', 'nolock', 'actimeo=2']
这是我尝试在vagrant ssh中执行
ls
时的输出:

vagrant@project:/vagrant$ ls
ls: cannot open directory '.': Stale file handle
在我的vagrant中还运行了一个Docker容器,安装过程如下(
Vagrantfile
):

执行
vagrant up后出现的错误

The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

docker build -t='reverse-proxy' /vagrant/docker/reverse-proxy

Stdout from the command:



Stderr from the command:

unable to prepare context: path "/vagrant/docker/reverse-proxy" not found
我认为这个错误与流浪者文件夹有关。比如访问之类的


谢谢

您的错误可能是由于将来宾配置为在
/vagrant
目录下有一个同步文件夹所致。这将用同步文件夹的内容覆盖整个文件夹

我的个人设置如下:

config.vm.synced_folder "./code", "/home/vagrant/code"
这样,您就可以在根目录中创建一个新目录,而不会覆盖
/vagrant
目录中的关键文件

希望这有帮助,致以最良好的祝愿。

修复:

我终于把它修好了

问题是我的项目位于Mac
/Users/USERNAME/Documents/project
Documents文件夹中,但这不再有效,因此我已将项目移动到主目录中名为Projects的新文件夹中<代码>/Users/USERNAME/Projects/project


我希望我能在这方面帮助一些人。

如果有人有同样的问题,您也可以给/sbin/nsfd完整的磁盘访问权限,而不是像接受的答案那样移动整个项目:


然后您仍然可以在文档中保存项目

我刚刚尝试过,但不幸的是,它不起作用。我收到错误:
mount:/vagrant:未知的文件系统类型“vboxsf”。
当vagrant box没有安装VirtualBox来宾添加时,会发生此问题。这里有一个指向文档的链接:是的,这也是这里的问题所在,~/Documents下的nfs共享似乎安装得很好,然后在哪里无法使用!谢谢@厄瓜多尔我很高兴这是有益的!这也解决了我的问题!感谢您发布修复。同样,这里有没有解释为什么在文档下不工作?@Erfan我认为这与新Catalina操作系统中对特定文件夹的新写入权限有关。
config.vm.synced_folder "./code", "/home/vagrant/code"