Why is the default Vagrant shared folder empty?

强颜欢笑 提交于 2020-04-10 03:03:45

问题


The /vagrant directory is empty. It should contain the workspace where my Vagrantfile is located. I can cd /vagrant, but it's empty.


Vagrantfile

VAGRANTFILE_API_VERSION = '2'
VAGRANT_BOX_NAME = 'nomades.local'

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = 'bento/centos-6.7'
  config.vm.box_check_update = false
  config.vm.hostname = VAGRANT_BOX_NAME

  config.vm.define VAGRANT_BOX_NAME do |dev|
    dev.vm.provider 'virtualbox' do |v|
      v.name = VAGRANT_BOX_NAME
      v.memory = 512
      v.cpus = 2
      v.gui = true
      v.customize ['modifyvm', :id, '--ioapic', 'on', '--vram', '16']
    end

    # Réseau (penser à configurer son /etc/hosts pointant vers cette ip)
    dev.vm.network 'private_network', ip: '192.168.12.2'

    # In order to use VPN
    # dev.vm.network 'public_network', ip: '172.32.0.101'

    # Provision
    dev.vm.provision "ansible" do |ansible|
      ansible.groups = {
          'vagrant' => [VAGRANT_BOX_NAME],
          'servers' => [VAGRANT_BOX_NAME],
      }
      ansible.playbook = 'provision/provision.yml'
      ansible.sudo = true
    end
  end
end

回答1:


This happens when vagrant can't modify /etc/fstab and tries to mount the current working directory from the host. Make sure it has permissions to mount the directory.

Run this on the Vagrant guest VM, then logout.

$ sudo /etc/init.d/vboxadd setup

Run this on the host.

$ sudo vagrant reload
$ vagrant ssh



回答2:


you need to define below line in the vagrantfile, . means current directory

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




回答3:


This issue happened to me after manually rebooting the VM (i.e. sudo reboot).

Restarting the machine from the host solved the problem for me:

$ vagrant halt
$ vagrant up


来源:https://stackoverflow.com/questions/38618103/why-is-the-default-vagrant-shared-folder-empty

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!