BOX镜像

镜像


vagrant是使用一个基础的镜像来快速克隆出虚拟机,而不是从零开始创建这种缓慢和乏味的方法来创建虚拟机。这些基础镜像在vagrant中被称为“boxes”,指定box是你在创建完Vagrantfile文件后通常要做的第一步操作。

安装一个Box


如果你在入门指南概述页面已经运行了命令,那么在这之前你就已经安装好box了,你就不用再运行下面的命令了。但是你还是值得阅读本章节,它可以让你了解如何管理box。

使用vagrant box add把box添加进Vagrant中,它将用一个特殊的名字来存储box,以便在更多的Vagrant环境中使用。如果你现在还没有添加box,你下就可以执行下面的命令了:

$ vagrant box add hashicorp/precise64

这个命令将从 HashiCorp's Vagrant Cloud box catalog上面下载名为"hashicorp/precise64"的box,你可以在上面找到和托管box。虽然可以很容易从HashiCorp上面下载box,但你也可以从本地、特定的url等方式来添加box。

这些box对当前用户来说是全局存储的。每个项目都会使用一个box来作为初始项目,并且绝对不会修改基础镜像。这就意味着如果你有两个项目使用我们刚添加的hashicorp/precise64 box的话,则在一台机器中添加文件对另外一台机器没有任何影响。

在上面的命令中,你会注意到这些box是有命名空间的。box分为两部分-用户名和box名-使用斜线分隔。在上面的例子中,用户名是“hashicorp”,box名是“precise64”。你还可以使用URL或本地文件路径的方式指定box,但是入门指南将不会介绍这种方式。

命名空间并不能保证box的规范!一个常见的误区是,命名空间是“ubuntu”就相当于box是Ubuntu官方发布的。这是不对的。例如,vagrant cloud上的命名空间与GitHub上的命名空间分成相似。正如GitHub的技术支持团队无法协助某个人的代码库一样,HashiCorp的技术支持团队也不能帮助第三方发布的box。

使用box


现在box已经被添加进Vagrant中,我们需要将我们的项目配置为基础。打开Vagrantfile并将内容更改为以下内容:

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise64"
end

在这种情况下,“hashicorp / precision64”必须与您用于添加上面box的名称相匹配。 这就是Vagrant如何知道要使用哪个box。 如果之前没有添加box,Vagrant将在运行时自动下载并添加box。
您可以通过指定config.vm.box_version来指定一个具体版本的box,例如:

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise64"
  config.vm.box_version = "1.1.0"
end

您也可以直接使用config.vm.box_url指定box的URL:

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise64"
  config.vm.box_url = "http://files.vagrantup.com/precise64.box"
end

在下一节中,我们将介绍Vagrant环境并与之进行交互。

查找更多box


对于本入门指南其他的部分,我们将使用之前添加的"hashicorp / precision64"。但是在看完此入门指南只有不就,你可能会遇到的第一个问题就是“我在哪可以找到更多的box?”

HashiCorp的Vagrant Cloud box目录是找到更多盒子的最佳地点。
HashiCorp的Vagrant云拥有运行于各种平台和技术的免费box。它也有良好的搜索功能,可以让你找到需要的box。

除了找到免费的box之外,如果您打算为您自己的公司或组织创建box,你还可以把自己的box托管在Vagrnat云上面。

下一步


您已经成功下载了第一个Vagrant Box并配置了Vagrantfile来使用这个box。 请继续阅读,了解如何通过SSH访问Vagrant机器

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,199评论 19 139
  • 使用vagrant管理虚拟机,非常方便,可以自己经常做实验,机器也不占用资源,内存和CPU的消耗,非常低。特别是搭...
    Big_Tree阅读 3,275评论 0 2
  • 1,介绍Vagrant 我们做web开发的时候经常要安装各种本地测试环境,比如apache,php,mysql,r...
    meng_philip123阅读 2,564评论 0 12
  • Vagrant是什么 Vagrant是一个软件,可以自动化虚拟机的安装和配置流程。目前市面上个人PC的主流操作系统...
    北魏企鹅阅读 30,118评论 3 40
  • 开发需要在各种系统上进行开发任务,运维则需要在各种系统上学习工具使用。因此,虚拟机恐怕也是 IT 人员最常使用的工...
    李广慧阅读 5,604评论 3 24