什么是 Vagrant?

Open source resources

Opensource.com

简而言之,Vagrant 是一个用于处理虚拟环境的工具,在大多数情况下,这意味着使用虚拟机。Vagrant 提供了一个简单易用的命令行客户端来管理这些环境,以及一个用于解释每个环境外观的基于文本的定义的解释器,称为 Vagrantfiles。Vagrant 是开源的,这意味着任何人都可以下载、修改和自由分享它。

虽然许多虚拟机hypervisor提供了他们自己的命令行界面,并且从技术上讲,通过这些程序直接或通过 shell 脚本配置虚拟机是可以实现的,但 Vagrant 通过添加一个额外的层所提供的优势是简单性、跨多个系统的互操作性,以及一种更一致的方法,理论上可以与运行在任何其他系统之上的任何虚拟环境一起使用。

通过提供一种通用的基于文本的格式来处理虚拟机,您的环境可以用代码定义,从而可以轻松地备份、修改、共享和使用版本控制进行管理。这也意味着,每次对配置进行更改时,可以共享一个只有几千字节的简单文本文件,而不是共享整个可能达到千兆字节的虚拟机镜像。

我为什么要使用 Vagrant?

虽然 Vagrant 的核心功能相当简单,但它可能对从事不同类型任务的广泛人群有用。

对于开发人员来说,Vagrant 可以轻松创建模仿您的代码最终将被部署到的环境的本地环境。您可以确保安装了相同的库和依赖项,安装了相同的进程,相同的操作系统和版本,以及许多其他细节,而无需牺牲本地机器的设置方式,也无需创建外部开发环境并连接到它的延迟或成本。

我在哪里可以获得 Vagrant?

对于 UX 和 UI 设计师来说,这些相同的优势也使 Vagrant 成为一个有趣的选择,他们可以准确地看到他们的工作在不同的系统上的外观,甚至可以使用他们自己的与开发人员编程的系统隔离的副本,而无需经历很多麻烦。

如果您想学习新工具、操作系统或环境,而不必担心犯可能损害当前系统的错误,那么它也是一个很棒的工具。无论您是为认证考试学习、测试新的部署脚本,还是只是尝试一些新事物,您都可以放心地这样做,因为您不会损害本地机器或生产环境中的任何内容。 额外的好处是,一旦您做对了,您可以使用相同的过程和脚本部署到实际情况或生产环境中。

有几种不同的方法可以获取 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 大会上做的精彩的五分钟介绍视频

© . All rights reserved.