原文地址

Vagrant 使用基础镜像来快速克隆虚拟机,而不是从头开始构建虚拟机。这些基础镜像在 Vagrant 中被称为“box”,并且指定用于 Vagrant 环境的 box 始终是创建新 Vagrantfile 后的第一步。

1. 安装 box

通过 vagrant box add 命令可以将 box 加入到 Vagrant。这会将 box 存储在一个特定的名称下,以便多个 Vagrant 环境可以重复利用。如果你还没有添加一个 box,可以这样做:

$ vagrant box add hashicorp/precise64

这将从 HashiCorp 的 Vagrant Cloud box 目录 下载名为“hashicorp/precise64”的 box。虽然从 HashiCorp 的 Vagrant Cloud下载 box 是最便利的方式,你也可以从本地文件或指定的 URL 等添加 box。

对于当前用户,box 全局存储。每个项目都使用一个 box 作为初始镜像来克隆,并且从不修改基本镜像。这意味着如果你有两个项目都使用我们刚刚添加的 hashicorp/precise64 这个 box,则在一台 guest 机器中添加文件将不会对另一台机器产生影响。

在上面的命令中,你会注意到这些 box 是有命名空间的。box 分为两部分 - 用户名和 box 名 - 用斜线分隔。在上面的例子中,用户名是“hashicorp”,并且 box 是“precise64”。也可以通过 URL 或本地文件路径来指定 box,但入门指南中不会涉及这些内容。

命名空间不保证规范 box!一个常见的误解是像“ubuntu”这样的命名空间代表了 Ubuntu 这个 box 的规范空间。这是不真实的。Vagrant Cloud上的命名空间的行为与 GitHub 上的命名空间非常相似。正如 GitHub 的支持团队无法协助解决某人存储库中的问题一样,HashiCorp 的支持团队无法管理第三方发布的 box。

2. 使用 box

现在 box 已经添加到了 Vagrant,需要配置项目使用这个 box 作为基准镜像。打开空白的 Vagrantfile 文件添加下面的内容:

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

这个例子中的“hashicorp/precise64”必须要跟你在上面添加的 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 环境并与其进行一点互动。

3. 查找更多的 box

对于本入门指南的其余部分,我们将仅使用之前添加的“hashicorp/precise64” box。但是在完成入门指南后,第一个问题可能就是“我在哪里可以找到更多的 box?”

HashiCorp 的 Vagrant Cloud box 目录 是寻找更多 box 的最佳地点。HashiCorp 的 Vagrant Cloud 有一个可以通过各种平台和技术免费使用的公共目录。HashiCorp 的 Vagrant Cloud 也有很好的搜索功能,可以让你找到你关心的 box。

除了寻找免费的 box,HashiCorp 的 Vagrant Cloud 允许你托管自己的 box,如果打算为自己的组织创建 box 的话还可以创建私有 box。

Vagrant 入门 - box的更多相关文章

  1. Vagrant入门

    简单地说,Vagrant让我们可以通过代码的方式快速地.可重复地创建针对不同虚拟环境的虚拟机,包括Virtualbox.AWS.Docker等.它使得我们可以一次性地.自动创建多个环境相同的虚拟机,对 ...

  2. vagrant 入门

    0.说明 本门所有的操作都是基于mac.windows可做相应调整,大体流程是一样的. 1.什么是vagrant 通俗来讲vagrant是一个通过命令行,来管理虚拟机的工具,vagrant本身并没有提 ...

  3. Vagrant入门二(转)

    原文:https://github.com/zhjchina/Go-best-practice/edit/master/ebook/zh/01.3.md 3 Vgrant使用入门 前面我们已经学会了如 ...

  4. Vagrant入门一(转)

    原文: https://github.com/astaxie/Go-best-practice/blob/master/ebook/zh/01.2.md 1.2 Vagrant安装配置 实际上Vagr ...

  5. [转] Vagrant入门

    [From] https://www.cnblogs.com/davenkin/p/vagrant-virtualbox.html 简单地说,Vagrant让我们可以通过代码的方式快速地.可重复地创建 ...

  6. 使用packer制作vagrant centos box

    使用packer制作vagrant box:centos 制作vagrant box,网上有教程,可以自己step by step的操作.不过直接使用虚拟在VirtualBox中制作vagrant b ...

  7. 快速打造跨平台开发环境 vagrant + virtualbox + box

    工欲善其事必先利其器,开发环境 和 开发工具 就是 我们开发人员的剑,所以我们需要一个快并且好用的剑 刚开始做开发的时候的都是把开发环境 配置在 自己的电脑上,随着后面我们接触的东西越来越多,慢慢的电 ...

  8. Vagrant入门[转]

    Vagrant是一个简单易用的部署工具,用英文说应该是orchestration tool.它能帮助开发人员迅速的构建一个开发环境,帮助测试人员构建测试环境. Vagrant的基本工作原理大致如下: ...

  9. vagrant的box哪里下?镜像在哪儿找?教你在vagrant官网下载各种最新.box资源

    原文:vagrant的box哪里下?镜像在哪儿找?教你在vagrant官网下载各种最新.box资源 一.进入vagrant官网 https://www.vagrantup.com/ 二.点击findb ...

随机推荐

  1. MySql-8.0.16版本部分安装问题修正

    本帖参考网站<https://blog.csdn.net/lx318/article/details/82686925>的安装步骤,并对8.0.16版本的部分安装问题进行修正 在MySQL ...

  2. [常用类]排序及Arrays类(简单介绍)

    冒泡排序bubble sort  轻的上浮,重的下沉.两个相邻位置比较,如果前面元素比后面的元素大就换位置 选择排序 select sort 用一个索引上的元素,依次和其他位置上的元素比较,小的放前面 ...

  3. java NIO介绍

    前言 我们在写java程序的时候,为了进行优化,把全部的精力用在了处理效率上,但是对IO的关注却很少.这也可能是由以前java早期时JVM在解释字节码时速度慢,运行速率大大低于本地编译代码,因此以前往 ...

  4. Handle Refresh Token Using ASP.NET Core 2.0 And JSON Web Token

    来源:   https://www.c-sharpcorner.com/article/handle-refresh-token-using-asp-net-core-2-0-and-json-web ...

  5. Spark Thrift Server

    ThriftServer是一个JDBC/ODBC接口,用户可以通过JDBC/ODBC连接ThriftServer来访问SparkSQL的数据.ThriftServer在启动的时候,会启动了一个Spar ...

  6. KNN算法项目实战——改进约会网站的配对效果

    KNN项目实战——改进约会网站的配对效果 1.项目背景: 海伦女士一直使用在线约会网站寻找适合自己的约会对象.尽管约会网站会推荐不同的人选,但她并不是喜欢每一个人.经过一番总结,她发现自己交往过的人可 ...

  7. sudo、su、suid

    sudo 是一种权限管理机制,管理员可以授权普通用户去执行 root 权限的操作,而不需要知道 root 的密码.sudo 以其他用户身份执行命令,默认以root身份执行.配置文件/etc/sudoe ...

  8. Codeforces Round #425 (Div. 2) - A

    题目链接:http://codeforces.com/contest/832/problem/A 题意:有n个棍子,两个人轮流取这些棍子,每个人每次只能去恰好k个棍子(不足k个则不能取),问先手取的棍 ...

  9. AMBS

    AMBS-PMT-TOT-AMT-DUE   -包括往期没还清的 AMBS-PMT-CURR-DUE是单单这一期新欠的 AMBS common used fields: AMBS-BILLING-CY ...

  10. 动态新增删除tbody表格行与ajax请求完成后刷新父窗口问题

    获取tbody内的一行数据,包括hidden类型的数据$("#tbody_id").find("tr").each(function(){ var tdArr ...