如何使用包装盒文件?

时间:2015-03-20 05:15:20

标签: vagrant packer

我有一个vagrantfile,它使用虚拟机顶部的框和一个配置脚本。

现在我正在尝试使用packer在提供后输出一个盒子。

但是我找不到使用我已经拥有的“.box”文件的构建器。我做错了什么?

3 个答案:

答案 0 :(得分:3)

我刚刚解决了这个小问题(将一个流浪汉.box文件转换为.ova供打包者使用):

  • 使用.box文件作为基础创建虚拟机。我使用此Vagrantfile,框opscode-centos-7.0
    $provisioning_script = <<PROVISIONING_SCRIPT
    adduser packer
    echo "packer" | passwd packer --stdin
    echo "packer ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/packer
    PROVISIONING_SCRIPT

    Vagrant.configure(2) do |config|
      config.vm.box = "opscode-centos-7.0"
      config.ssh.insert_key = false
      config.vm.provider "virtualbox" do |v|
        v.name = "packer-base"
      end
      config.vm.provision :shell, inline: $provisioning_script
    end
  • 运行vagrant up
  • 运行vagrant halt
  • 运行vboxmanage export --ovf20 -o packer-base.ova packer-base
  • 运行vagrant destroy

这也会为packer用户创建一个默认密码,以便打包者可以轻松连接到实例来执行操作。另请注意insert_key参数,该参数将阻止使用安全密钥替换vagrant默认的不安全密钥,并允许后续的vagrant设置通过SSH正确连接到新映像(填充程序完成后)。

答案 1 :(得分:0)

开箱即用的打包工具尚不支持使用Vagrant框作为输入(尚未)。

但是有一个自定义插件,请参见this comment

答案 2 :(得分:-1)

如果您想构建一个使用提供者虚拟框运行的流浪盒,请查看here

但是,输入需要isoovf,而不是流浪盒。

查看these templates以开始将虚拟框构建器与packer一起使用。

确保运行post-processor以将virtualbox vm转换为流浪盒。

相关问题