尽管可以非常容易的使用虚拟机,但是大部分人并不想通过ssh终端来编辑文件。幸运的是使用vagrant就可以不用这么做。通过使用同步文件夹,vagrant将自动同步你的文件到宿主机器。
默认情况下,Vagrant将你的项目目录(请记住,就是Vagrantfile所在的目录)与虚拟机中的/vagrant
目录共享。
请注意,当你使用vagrant ssh
命令进入虚拟机时,你在/home/vagrant
目录下。/home/vagrant
目录和同步目录/vagrant
目录不是同一个目录。
如果你的终端显示有关虚拟机增强工具包的错误(guest additions),你可能需要更新你的box或者选择一个其他的box,例如hashicorp/precise64.有些用户使用vagrant-vbguest插件也解决了问题,但是这个插件并没有vagrant核心团队的正式支持。
再次运行vagrant up
并且SSH到您的机器:
$ vagrant up
...
$ vagrant ssh
...
vagrant@precise64:~$ ls /vagrant
Vagrantfile
信不信由你,你在虚拟机中看到的Vagrantfile实际上就是你宿主机上的Vagrantfile。 继续并且创建一个文件来证明一下:
vagrant@precise64:~$ touch /vagrant/foo
vagrant@precise64:~$ exit
$ ls
foo Vagrantfile
哇! “foo”现在在你宿主机器上了。 如您所见,Vagrant保持文件夹的同步。
使用同步的目录,您可以继续在宿主机器上使用自己的编辑器来编辑文件,vagrant将自动把文件同步到虚拟机中。
下一步
您已成功通过虚拟机上的同步文件夹与宿主机器进行交互。 请继续阅读,了解如何通过配置来安装软件包,用户等。