Vagrant

✍ dations ◷ 2025-07-23 10:24:30 #自由跨平台软件,用Ruby编程的自由软件

Vagrant是一款用于构建及配置虚拟开发环境的软件,基于Ruby,主要以命令行的方式运行。

主要使用Oracle的开源VirtualBox虚拟化系统,与Chef,Salt,Puppet等环境配置管理软件搭配使用,可以实行快速虚拟开发环境的构建。

早期以VirtualBox为对象,1.1以后的版本中开始对应VMware等虚拟化软件,包括Amazon EC2之类服务器环境的对应。

2010年1月,Vagrant 只是作为Mitchell Hashimoto的业余兴趣而启动的项目。同年3月,Vagrant的第一版本发布了。同年10月,Engine Yard宣布它们将赞助该项目。在原始版本的整整两年后——2012年3月, Vagrant 1.0(首个稳定版本)发布了。同年12月份,Mitchell成立了名为HashiCorp并全职开发Vagrant,但Vagrant仍保留自由软件。HashiCorp现今为Vagrant提供商业插件,并提供专业支持和训练。

初始Vagrant与VirtualBox绑定,但在版本1.1时开始支持其他虚拟化软件,如:VMware、基于内核的虚拟机(KVM)以及作为虚拟专用服务器(如:Amazon EC2)。Vagrant是用Ruby开发的。自版本1.6之后,Vagrant开始支持Docker容器,在一些例子,docker容器可以代替完整的虚拟系统。

Vagrant使用"Provisioners"和"Providers" 作为开发环境的构建模块。

|--vagrant|--Providers        如:VirtualBox、Hyper-V、Docker、VMware、AWS|--Boxex            如:Centos7。与镜像类似|--Provisioners     如:'yum intall -y python' 等自定义自动化脚本

Vagrant作为最外层的虚拟软件,目的是帮助开发者更容易地与Providers交互。Vagrantfile记录Providers和Provisioners的相关信息。

Providers作为服务,帮助vagrant使用Boxes建立和创建虚拟环境。Vagrant提供的内嵌的Provider有 VirtualBox、Hyper-V、Docker、VMware,而AWS以插件形式提供支持。

当使用VirtualBox等Provider,需要使用Boxes才能创建虚拟环境。当使用Docker作为Provider时,则不需要Boxes。

虚拟环境被创建后,开发者可以使用Provisioners自动化地自定义该虚拟环境。在Vagrant ecosystem 中(Ansible在2014已经可用了),Puppet和Chef是最常用的 Provisioners。

相关

  • 西门子利多富资讯系统西门子利多富资讯系统, AG(Siemens Nixdorf Informationssysteme,简称:SNI)是西门子公司的子公司。1990年代中期由西门子公司收并了利多富电脑公司后,西门子公司将利多富电脑公司
  • 史学家历史学家也称历史家、史学家、史家,指以撰写历史著作为职业或对历史学的创立、发展与应用付出努力的知识分子。历史学家包括历史记录的编撰者和史料的研究者。人们研究历史必
  • 湄洲岛坐标:25°05′03″N 119°07′17″E / 25.084074°N 119.1214462°E / 25.084074; 119.1214462湄洲岛(莆仙语:Bí-ciu-dô̤),中华人民共和国福建省莆田市秀屿区湄洲镇辖岛,位处湄
  • 对河南的地域妖魔化现象对河南的地域妖魔化现象指中国大陆部分媒体以及少数民众对河南省及其居民的地域妖魔化现象。河南地处中原,受传统文化的影响,古代对其的评价相对正面“中州俗淳厚质直,有古风,虽
  • 因皮里尔因皮里尔县(Imperial County)又译帝国县是美国加利福尼亚州的一个县,县治埃尔森特罗。根据美国人口调查局2000年统计,共有人口142,361,其中白人占49.37%、非裔美国人占3.95%、亚
  • 詹姆斯镇詹姆斯镇是英国在美洲建立的第一个永久性的殖民地,以当时的英国国王詹姆斯一世命名。位于詹姆斯河(原名波瓦坦河)东北岸约4公里处。1606年,一些大胆的英国商人成立了弗吉尼亚
  • 2008至2009年的经济衰退name = 'Transport', description = '交通', content = {{ type = 'text', text = [[]] }, { type = 'item', original = 'articulated bus', rule = 'zh-cn:铰接客车;zh-tw
  • 礼炮号太空站远征队列表这是一个礼炮号太空站远征队的列表。
  • 丹尼尔不是真的《丹尼尔不是真的》(英语:)是一部2019年美国恐怖惊悚片,由亚当·埃及·莫堤尔(Adam Egypt Mortimer)执导并与布莱恩·德莱乌(Brian DeLeeuw)共同撰写剧本,改编自德莱乌创作的2009年小
  • 明·费里曼明·费里曼(英语:Ming Freeman),是一名钢琴家、键盘乐器演奏家、音乐总监(英语:Music director)、作曲家、编曲家、制作人。来自台湾,是台湾人及加拿大人的后裔。其键盘演奏快速而富