为什么默认的 Vagrant 共享文件夹是空的?
Why is the default Vagrant shared folder empty?
/vagrant
目录为空。它应该包含我的 Vagrantfile 所在的工作空间。我可以cd /vagrant
,但它是空的
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
当 vagrant 无法修改 /etc/fstab
并尝试从主机挂载当前工作目录时,就会发生这种情况。确保它具有挂载目录的权限。
运行 在 Vagrant 来宾 VM 上执行此操作,然后注销。
$ sudo /etc/init.d/vboxadd setup
运行 这个在主机上。
$ sudo vagrant reload
$ vagrant ssh
您需要在 vagrantfile 中定义以下行,。 表示当前目录
config.vm.synced_folder ".", "/vagrant"
我在手动重启 VM 后遇到了这个问题(即 sudo reboot
)。
从主机重启机器解决了我的问题:
$ vagrant halt
$ vagrant up
/vagrant
目录为空。它应该包含我的 Vagrantfile 所在的工作空间。我可以cd /vagrant
,但它是空的
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
当 vagrant 无法修改 /etc/fstab
并尝试从主机挂载当前工作目录时,就会发生这种情况。确保它具有挂载目录的权限。
运行 在 Vagrant 来宾 VM 上执行此操作,然后注销。
$ sudo /etc/init.d/vboxadd setup
运行 这个在主机上。
$ sudo vagrant reload
$ vagrant ssh
您需要在 vagrantfile 中定义以下行,。 表示当前目录
config.vm.synced_folder ".", "/vagrant"
我在手动重启 VM 后遇到了这个问题(即 sudo reboot
)。
从主机重启机器解决了我的问题:
$ vagrant halt
$ vagrant up