【问题标题】:Can't access vagrant folder on vagrant machine (Stale file handle)无法访问 vagrant 机器上的 vagrant 文件夹(旧文件句柄)
【发布时间】:2020-02-12 00:45:20
【问题描述】:

我目前已经被一个问题困扰了 2 天。 我最近将我的 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):

project_config.vm.provision "docker" do |d|
  d.build_image "/vagrant/docker/reverse-proxy", args: "-t='reverse-proxy'"
  d.run "reverse-proxy", args: "-v '/var/run/docker.sock:/var/run/docker.sock' -p 80:80 -p 443:443 -p 8080:8080"
end

执行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 文件夹有关。像访问或类似的东西。

谢谢

【问题讨论】:

    标签: docker vagrant vagrantfile


    【解决方案1】:

    修复:

    我终于设法解决了!

    问题是我的项目位于我的 Mac /Users/USERNAME/Documents/projectDocuments 文件夹中,但这不再起作用,因此我已将项目移动到名为 Projects 的新文件夹中 在我的主目录中。 /Users/USERNAME/Projects/project.

    我希望我能帮助别人。

    【讨论】:

    • 是的,这也是问题所在,~/Documents 下的 nfs 共享似乎可以正常安装,然后无法使用!谢谢!
    • @Ecuador 很高兴这对您有所帮助!
    • 这也解决了我的问题!感谢您发布修复程序。
    • 这里也一样,有什么解释为什么在Documents下不起作用?
    • @Erfan 我认为这与新 Catalina 操作系统中特定文件夹的新写入权限有关。
    【解决方案2】:

    也许您的错误是由于将访客配置为在/vagrant 目录中拥有一个同步文件夹。这会用您同步文件夹的内容覆盖整个文件夹。

    我的个人设置如下:

    config.vm.synced_folder "./code", "/home/vagrant/code"
    

    这样,您可以在根目录中创建一个新目录,而不会覆盖/vagrant 目录中的密钥文件。

    希望这有帮助,最好的问候。

    【讨论】:

    • 我刚试了一下,可惜没用。我收到错误:mount: /vagrant: unknown filesystem type 'vboxsf'.
    • 当 vagrant box 未安装 VirtualBox Guest Additions 时会出现此问题。这是文档的链接:link
    【解决方案3】:

    如果有人遇到同样的问题 - 除了像接受的答案那样移动整个项目之外,您还可以授予 /sbin/nsfd 完整磁盘访问权限:

    https://github.com/hashicorp/vagrant/issues/10961#issuecomment-541070382

    那么您仍然可以在 Documents 中保存您的项目

    【讨论】:

      猜你喜欢
      • 2016-03-04
      • 1970-01-01
      • 1970-01-01
      • 2015-09-26
      • 2017-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多