我有一个 vagrantfile 使用 virtualbox 顶部的一个带有配置脚本的框。
现在我正在尝试使用打包器在提供后已经输出一个框。
但是我找不到构建器来使用我已经拥有的“.box”文件。我究竟做错了什么?
我刚刚解决了这个小问题(将 vagrant .box 文件转换为 .ova 供打包机使用):
Vagrantfile
,盒子opscode-centos-7.0
:$provisioning_script = <<PROVISIONING_SCRIPT 添加用户打包程序 回声“打包机” | 密码打包程序--stdin echo "packer ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/packer PROVISIONING_SCRIPT Vagrant.configure(2) 做 |config| config.vm.box = "opscode-centos-7.0" config.ssh.insert_key = false config.vm.provider "virtualbox" 做 |v| v.name = "打包机基础" 结尾 config.vm.provision :shell,内联:$provisioning_script 结尾
vagrant up
vagrant halt
vboxmanage export --ovf20 -o packer-base.ova packer-base
vagrant destroy
这也创建了packer
具有默认密码的用户,以便打包程序可以轻松地连接到实例以执行操作。另请注意该insert_key
参数将防止用安全密钥替换 vagrant 默认不安全密钥,并允许后续 vagrant 设置通过 SSH 正确连接到新映像(在打包程序完成后)。
开箱即用的 Packer 不支持使用 Vagrant 框作为输入(目前)。
但是有一个自定义插件,请参阅此评论。