【问题标题】:How do I package a vagrantfile so that it is used when 'vagrant init' is called on the box?如何打包 vagrantfile 以便在盒子上调用“vagrant init”时使用它?
【发布时间】:2015-03-04 01:31:26
【问题描述】:

我知道这是一个愚蠢的问题,但我仍在努力理解 vagrant。

我在 Windows 主机上运行 vagrant,并且正在使用 VirtualBox 构建 Linux 来宾虚拟机。我的来宾 VM 正在运行,现在我想打包它。

Vagrant 文档说:“一个常见的误解是 --vagrantfile 选项将打包一个 Vagrantfile,当 vagrant init 与此框一起使用时使用。事实并非如此。相反,一个 Vagrantfile 被加载并作为一部分读取使用 box 时的 Vagrant 加载过程。更多信息,请阅读 Vagrantfile 加载顺序。"

知道了。但这就是我想做的!当我运行“vagrant package --output myboxname.box”时,我精心制作的 Vagrant 文件似乎不在包中。我按如下方式测试该框(在 Windows 中,复制新框后):

cd \some_new_dir
vagrant box add myboxname.box --name boxname
vagrant init boxname

新的 Vagrantfile 是通用的 vagrant 版本,没有我的任何更改。

当我

vagrant up

vm 运行良好,但(不足为奇)没有任何 Vagrantfile 指令发生。

我知道我缺少一些基本的东西——有人可以帮我吗?

【问题讨论】:

标签: vagrant vagrantfile


【解决方案1】:

尝试将 Vagrantfile 从您运行 vagrant package 的目录复制到 \some_new_dir 目录。然后,不运行vagrant init(因为这会用空文件覆盖Vagrantfile),运行vagrant up 以使用Vagrantfile。

【讨论】:

  • 我会试试这个,我希望它能工作。我曾希望有一种方法可以打包这个盒子,这样就不需要在它旁边分发一个 Vagrantfile。
  • 这种方法有效(不足为奇)。显然没有办法让盒子携带自己的 Vagrantfile。
  • 这甚至不能解决将 Vagrantfile 打包在一个盒子中的问题。我还是不明白。文档应该说:不可能将 Vagrantfile 打包在一个盒子里
猜你喜欢
  • 2014-04-11
  • 1970-01-01
  • 2012-03-30
  • 1970-01-01
  • 1970-01-01
  • 2017-08-18
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
相关资源
最近更新 更多