images bajar vagrant

bajar - Vagrant carpetas compartidas y sincronizadas



vagrant virtualbox (1)

Creé un Vagrantfile con el siguiente contenido:

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

Después de vagrant up o vagrant reload obtengo:

[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

Mis preguntas son:

  1. ¿Por qué Vagrant está montando la carpeta compartida /vagrant ? He leído que las carpetas compartidas están en desuso a favor de las carpetas sincronizadas, y nunca definí ninguna carpeta compartida en mi Vagrantfile.
  2. ¿Por qué la carpeta sincronizada no está configurada?

Estoy usando la versión 1.2.7 de Vagrant en MacOX 10.8.4.


carpetas compartidas VS carpetas sincronizadas

Básicamente, las carpetas compartidas se renombran a carpetas sincronizadas de v1 a v2 (docs), bajo el capó sigue utilizando vboxsf entre el host y el invitado (hay problemas de rendimiento conocidos si hay una gran cantidad de archivos / directorios).

Directorio vagrantfile montado como /vagrant en guest

Vagrant está montando el directorio de trabajo actual (donde reside Vagrantfile ) como /vagrant en el invitado, este es el comportamiento predeterminado.

Ver docs

NOTA: De forma predeterminada, Vagrant compartirá el directorio de su proyecto (el directorio con el Vagrantfile) en / vagrant.

Puede deshabilitar este comportamiento agregando cfg.vm.synced_folder ".", "/vagrant", disabled: true en su Vagrantfile .

¿Por qué la carpeta sincronizada no funciona?

En función de la salida /tmp en el host NO se montó durante el tiempo de actividad.

Use VAGRANT_INFO=debug vagrant up o VAGRANT_INFO=debug vagrant reload para iniciar la VM para obtener más resultados sobre por qué la carpeta sincronizada no está montada. Podría ser un problema de permisos (los bits de modo de /tmp en el host deben ser drwxrwxrwt ).

Hice una prueba rápida de prueba usando lo siguiente y funcionó (usé opscode bento raring vagrant base box)

config.vm.synced_folder "/tmp", "/tmp/src"

salida

$ 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

Dentro de la VM, puede ver la información de montaje /tmp/src on /tmp/src type vboxsf (uid=900,gid=900,rw) .