I created a Vagrantfile with the following content:
Vagrant::Config.run do |config| config.vm.define :foo do |cfg| cfg.vm.box = 'foo' cfg.vm.host_name = "foo.localdomain.local" cfg.vm.network :hostonly, "192.168.123.10" end Vagrant.configure("2") do |cfg| cfg.vm.customize [ "modifyvm", :id , "--name", "foo" , "--memory", "2048", "--cpus", "1"] cfg.vm.synced_folder "/tmp/", "/tmp/src/" end end
vagrant up or
vagrant reload I get:
[foo] Attempting graceful shutdown of VM... [foo] Setting the name of the VM... [foo] Clearing any previously set forwarded ports... [foo] Fixed port collision for 22 => 2222. Now on port 2200. [foo] Creating shared folders metadata... [foo] Clearing any previously set network interfaces... [foo] Preparing network interfaces based on configuration... [foo] Forwarding ports... [foo] -- 22 => 2200 (adapter 1) [foo] Booting VM... [foo] Waiting for VM to boot. This can take a few minutes. [foo] VM booted and ready for use! [foo] Setting hostname... [foo] Configuring and enabling network interfaces... [foo] Mounting shared folders... [foo] -- /vagrant
My questions are:
/vagrantshared folder? I read shared folders are deprecated in favour of synced folders, and I never defined any shared folder in my Vagrantfile.
I'm using Vagrant version 1.2.7 on MacOX 10.8.4.
This question is tagged with
~ Asked on 2013-08-30 08:50:52
Basically shared folders are renamed to synced folder from v1 to v2 (docs), under the bonnet it is still using
vboxsf between host and guest (there is known performance issues if there are large numbers of files/directories).
Vagrant is mounting the current working directory (where
Vagrantfile resides) as
/vagrant in the guest, this is the default behaviour.
NOTE: By default, Vagrant will share your project directory (the directory with the Vagrantfile) to /vagrant.
You can disable this behaviour by adding
cfg.vm.synced_folder ".", "/vagrant", disabled: true in your
Based on the output
/tmp on host was NOT mounted during up time.
VAGRANT_INFO=debug vagrant up or
VAGRANT_INFO=debug vagrant reload to start the VM for more output regarding why the synced folder is not mounted. Could be a permission issue (mode bits of
/tmp on host should be
I did a test quick test using the following and it worked (I used opscode bento raring vagrant base box)
config.vm.synced_folder "/tmp", "/tmp/src"
$ vagrant reload [default] Attempting graceful shutdown of VM... [default] Setting the name of the VM... [default] Clearing any previously set forwarded ports... [default] Creating shared folders metadata... [default] Clearing any previously set network interfaces... [default] Available bridged network interfaces: 1) eth0 2) vmnet8 3) lxcbr0 4) vmnet1 What interface should the network bridge to? 1 [default] Preparing network interfaces based on configuration... [default] Forwarding ports... [default] -- 22 => 2222 (adapter 1) [default] Running 'pre-boot' VM customizations... [default] Booting VM... [default] Waiting for VM to boot. This can take a few minutes. [default] VM booted and ready for use! [default] Configuring and enabling network interfaces... [default] Mounting shared folders... [default] -- /vagrant [default] -- /tmp/src
Within the VM, you can see the mount info
/tmp/src on /tmp/src type vboxsf (uid=900,gid=900,rw).
~ Answered on 2013-08-30 09:38:21