这是一个很大的问题,所以我将其分为三个部分。
流浪汉
Vagrant用于通过以下方式设置一个或多个虚拟机:
- 导入预制图像(称为“框”)
- 设置特定于VM的设置(IP地址,主机名,端口转发,内存等)
- 运行配置软件,例如Puppet或Chef
请注意,它不会在加载VM和设置VirtualBox设置之前安装软件或设置计算机。将其视为VirtualBox的脚本引擎。
这是一些我仅在VirtualBox上使用Vagrant的原因。
1.轻松设置多虚拟机网络
我阅读的大多数Vagrant高级用户内容都是关于同时设置多个VM的。Vagrant提供了一个配置文件来进行设置,使您可以使用一个命令启动所有配置文件。
假设您已经配置了三个虚拟机,以使用192.168.1。*子网上的静态IP相互联网。您发现自己已经在使用该子网分发IP地址的位置,并且您的VM现在发生冲突。使用Vagrant,您可以简单地编辑Vagrantfile并重新加载VM,而如果使用VirtualBox,则必须打开每个VM的设置(如果不启动每个VM并在内部进行更改)。
2.源代码管理
通过将设置放在文本文件中,可以将配置置于源代码管理下。上周进行了一些更改,并意外破坏了图像?只需还原更改并重新加载VM。您可以使用VirtualBox快照来完成此操作,但是它将占用比Vagrantfile更大的空间。
3.各种平台
在http://vagrantbox.es等网站上有大量可用的盒子。这使您可以尝试各种操作系统或发行版,并应用相同的设置来设置相似的环境。这可以帮助测试或添加对新平台的支持,并且仅使用VirtualBox将非常耗时。
使用预配软件以及使用映像快照存在很多争论。有关其他讨论,我将为您提供Stephen Nelson-Smith的出色文章“ 如何在一天内构建100个Web服务器”。