【问题标题】:How exactly means this Vagrantfile conguration? What do thevagrant up statment in this specific Apache Storm example?这个 Vagrantfile 配置到底意味着什么?在这个特定的 Apache Storm 示例中,他们 vagrant up 声明了什么?
【发布时间】:2015-11-27 01:28:56
【问题描述】:

我是 Vagrant 和 Apache Storm 的新手。

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

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

2) 在主机上(安装 Virtual Box 和运行来宾 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 的链接(我自己安装的,不知道对不对)。

在我的 Vagrantfile 中究竟是什么代表了以前的配置?

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

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

vagrant up

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

Tnx

【问题讨论】:

标签: vagrant apache-storm vagrantfile vagrant-windows


【解决方案1】:

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

当您使用此 Vagrantfile 执行 vagrant up 时,它确实会使用您指定的框创建一个新 VM,如果该框尚未在您的系统中,它将尝试下载,因此看起来很慢。进一步 vagrant up 使用同一个盒子会更快,因为它将从本地盒子创建 VM。

如果你打算使用 vagrant,你应该让它管理虚拟机,不要自己在 VirtualBox 中创建虚拟机(有一些方法可以创建这个链接,但不是很简单,不确定它是否支持)。理想情况下,当你用 vagrant (init, up, ssh ...) 完成一个完整的循环时,尽量不要启动 VirtualBox 一次,你会看到它有多流畅

【讨论】:

  • 那你到底是什么意思? Vagrant 正在下载其中包含 VM 的 Box? (那么它是在下载包含 VM 的东西吗?)。但是这个虚拟机将如何启动呢?由 Vagrant 自动执行,还是在下载后由 VirtualBox 手动执行?
  • 是的 vagrant 需要一个盒子才能创建一个新的 VM - vagrant 负责与 VM 的所有通信(启动、停止 ...)
猜你喜欢
  • 2022-12-12
  • 1970-01-01
  • 1970-01-01
  • 2015-06-26
  • 2018-01-19
  • 1970-01-01
  • 2023-01-03
  • 2020-06-12
  • 1970-01-01
相关资源
最近更新 更多