Vagrant中默认共享文件夹不可见。

3

我在Vagrant中遇到了同步文件夹的问题。我的配置非常简单:

Vagrant.configure(2) do |config|
  config.vm.box = "ubuntu/xenial64"
  config.vm.network :forwarded_port, guest: 80, host: 8080
  config.vm.synced_folder ".", "/vagrant"
end

Vagrant通常在启动时自动创建/vagrant文件夹 - 但这次没有发生,所以我手动创建了它。但当我在我的主机系统中创建一个文件时,在客户端系统中看不到它。有什么想法吗?

我已成功创建了类似的配置:

config.vm.box = "hashicorp/precise64"

但是它有点过时了,我想使用Ubuntu 16.04。

这是我的配置问题、vagrant box的问题还是其他问题?


你应该检查为什么Vagrant无法创建文件夹,运行vagrant up --debug命令,输出会很大,但是搜索Mounting shared folders... - Frederic Henri
这跟符号链接有什么关系呢?Vagrant在符号链接方面存在一些问题,因此您应该首先确保它可以使用实际路径。您可以尝试添加同步文件夹type,但您不必这样做。接下来执行vagrant reload命令。 - ldg
当您通过ssh登录到虚拟机时,/vagrant目录似乎不可见? - Frederic Henri
在执行 vagrant up 命令后 - 不行。如果我手动创建它 - 可以。但即使这样,它也不能在主机和客户机之间共享。 - Torpedr
我曾经遇到过类似的问题,解决方法是安装Virtualbox Guest Additions插件:vagrant plugin install vagrant-vbguest。然后执行vagrant up命令即可。 - Jim
显示剩余2条评论
1个回答

4
你可以尝试以下方法:确保你已经安装了最新版本的Vagrant和VB。重新启动你的电脑(我知道这有点烦人,但有时候确实有用)。在一个新目录中再次尝试(或者如果你想要开始全新的工作而不需要旧内容,可以使用vagrant destroy命令),即确保旧的.vagrant目录不存在。
然后执行vagrant upvagrant reload并再次检查。
如果你正在使用VirtualBox,请确保你没有任何“Guest Additions”问题。你可以尝试使用https://github.com/dotless-de/vagrant-vbguest 如果还是不行,像@frédéric-henri提到的那样,再次检查--debug输出,查找所有关于你共享名称的提及。此外,“/vagrant”并不总是默认的,它取决于虚拟机。有时它是“/vagrant_data”或其他名称,但如果你在配置中指定了“/vagrant”,那么应该可以正常工作。

我确实摧毁了这个盒子并重新启动了它——仍然没有运气。这是我的第三或第四次尝试。 我开始觉得这个ubuntu/xenial64盒子有问题。你知道有没有其他新的基于Debian的安装盒子吗? - Torpedr
1
好的,我找到了解决方案。根据:https://bugs.launchpad.net/cloud-images/+bug/1565985 这个盒子是坏的。安装apt-get --no-install-recommends install virtualbox-guest-utils之后,共享文件夹现在可见。然而,使用这个盒子没有任何意义。它没有Python(因此Ansible将无法工作),也没有VirtualBox工具,这迫使您手动分两步安装所有内容。 - Torpedr
我在Ubuntu 16.04上使用了这个:geerlingguy/ubuntu1604 - ldg
谢谢 - 我会去看看 :) - Torpedr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接