这个Vagrantfile配置究竟意味着什么?在这个特定的Apache Storm示例中,声明是什么?

时间:2015-10-26 19:29:45

标签: vagrant apache-storm vagrantfile vagrant-windows

我在Vagrant和Apache Storm中绝对是新的。

我正在关注一个显示以下情况的在线课程。

1)Virtual Box上安装了一个Ubuntu虚拟机

2)在主机上(安装Virtual Box并运行guest虚拟机Ubuntu VM的地方),安装Vagrant。

好的,在教程中首先从 github 下载一个包含该命令项目的目录:

git clone https://github.com/Udacity/ud381

在我的主机Windows机器上创建此目录:

C:\Users\Andrea\Documents\workspaces\Real-Time\ud381

如您所见,在上一个github存储库中输入此目录包含 Vagrantfile ,其中包含:

# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "udacity/ud381"
  config.vm.network :forwarded_port, guest: 5000, host: 5000
end

据我所知, Vagrantfile 代表Vagrant配置,我认为它代表了我之前在 VirtualBox 上安装的Ubuntu来宾VM的链接(I已经自己安装但我不知道它是否正确。

我的 Vagrantfile 的确切代表以前的配置是什么?

我认为 udacity / ud381 是VirtualBox上的VM名称,但我绝对不确定。

然后在教程中显示,使用shell,我必须进入包含 Vagrantfile 的目录(这个:C:\ Users \ Andrea \ Documents \ workspaces \ Real-Time \ ud381)并执行此陈述:

vagrant up
似乎开始下载一些东西(它很慢)。它在做什么?什么是下载?

Tnx

1 个答案:

答案 0 :(得分:1)

udacity / ud381 是对位于atlas.hashicorp的vagrant box的引用:https://atlas.hashicorp.com/udacity/boxes/ud381

使用此Vagrantfile执行vagrant up时,它会使用您指定的框创建一个新VM,如果该框尚未包含在您的系统中,它将尝试下载,因此它似乎很慢。进一步vagrant up具有相同的框将更快,因为它将从本地框创建VM。

如果您打算使用vagrant,您应该让它管理VM并且不要自己在VirtualBox中创建VM(有一些方法可以建立这个链接,但这不是微不足道的,也不确定它是否受支持)。理想情况下,当你使用vagrant(init,up,ssh ......)完成一个完整的循环时,尝试不启动VirtualBox,你将会看到它的平滑程度