• Vagrant 入门


    原文地址

    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。

  • 相关阅读:
    二值形态学——开、闭运算
    二值形态学——腐蚀与膨胀 及 C语言代码实现
    数学形态学处理-基本符号和术语
    【OpenCV】图像增强---灰度变换、直方图均衡化
    【OpenCV】【MFC】图片、视频、摄像头输入响应【详细图解】
    【OpenCV】三种方式操作图像像素
    【OpenCV】透视变换矫正
    数字图像处理基础
    Voronoi图及matlab实现
    粒子群优化算法PSO及matlab实现
  • 原文地址:https://www.cnblogs.com/kika/p/10851669.html
Copyright © 2020-2023  润新知