
Opensource.com
简而言之,Vagrant 是一个用于处理虚拟环境的工具,在大多数情况下,这意味着处理虚拟机。Vagrant 提供了一个简单易用的命令行客户端来管理这些环境,以及一个解释器,用于解释基于文本的环境定义,称为 Vagrantfiles。Vagrant 是开源的,这意味着任何人都可以下载、修改和自由分享它。
虽然许多虚拟机 Hypervisor 提供了自己的命令行界面,并且从技术上讲,通过这些程序直接或通过 shell 脚本可以完成虚拟机的配置,但 Vagrant 通过添加额外的层所提供的优势是简单性、跨多个系统的互操作性,以及更一致的方法,理论上可以与运行在任何其他系统之上的任何虚拟环境一起使用。
通过提供通用的基于文本的格式来处理虚拟机,您的环境可以用代码定义,从而可以轻松地备份、修改、共享和使用版本控制进行管理。这也意味着,每次对配置进行更改时,与其共享整个虚拟机镜像(可能达到千兆字节),不如共享一个只有几千字节的简单文本文件。
我为什么要使用 Vagrant?
虽然 Vagrant 的核心功能相当简单,但它可能对从事不同类型任务的各种人员都很有用。
对于开发人员来说,Vagrant 可以轻松创建本地环境,该环境模拟您的代码最终将部署到的环境。您可以确保安装了相同的库和依赖项,安装了相同的进程,相同的操作系统和版本,以及许多其他细节,而无需牺牲本地机器的设置方式,也无需创建外部开发环境并连接到它的延迟或成本。
我在哪里可以获得 Vagrant?
对于 UX 和 UI 设计师来说,开发人员的这些相同优势也使其成为一个有趣的选择,他们可以准确地看到他们的工作在不同的系统上的外观,甚至可以使用他们自己隔离的开发者正在编程的系统副本,而无需经历很多麻烦。
如果您想学习新工具、操作系统或环境,而不必担心犯错可能会损害您当前的系统,那么它也是一个很棒的工具。无论您是在为认证考试学习、测试新的部署脚本,还是只是尝试新事物,您都可以放心地进行,因为您不会损害本地机器或生产环境中的任何内容。 额外的好处是,一旦您做对了,您可以使用相同的流程和脚本部署到实际情况或生产环境中。
有几种不同的方法可以获取 Vagrant。Vagrant 可以从官方下载页面下载适用于 Linux、Mac 和 Windows 的二进制包。
对于许多 Linux 发行版,您可以在默认存储库中找到 Vagrant,并像安装任何其他软件一样安装它。例如,在 Fedora 中,您可以简单地运行。
$ sudo dnf install vagrant
然而,Vagrant 的开发者提醒说,某些存储库中提供的版本没有保持更新,如果您使用官方安装程序,您可能会遇到更少的问题。
而且,如果您对 Vagrant 的工作原理特别感兴趣,作为一个开源项目,Vagrant 的源代码在 GitHub 上提供,供您检查、克隆,甚至贡献。
我如何开始使用 Vagrant?
开始使用 Vagrant 的最佳方法是安装它并亲自试用。 除此之外,官方文档非常宝贵,为您的第一步提供了很好的指导。 了解 Vagrant 使用的一些基本术语也很有帮助。
- Box:Box 是一个打包的 Vagrant 环境,通常是一个虚拟机。
- Provider:Provider 是虚拟环境运行的位置。它可以是本地的(默认是使用 VirtualBox)、远程的,甚至是像 Docker 容器这样的特殊情况。
- Provisioner:Provisioner 是一个用于设置虚拟环境的工具,可以像 shell 脚本一样简单,但也可以使用更高级的工具,如 Chef、Puppet 或 Ansible。
想要了解更多?请观看 Red Hat 的 Daniel Farrell 在 2015 年 All Things Open 大会上做的精彩五分钟介绍视频。