如何使用packer从vmware映像创建一个vagrant box

时间:2015-07-07 07:55:11

标签: vagrant vagrantfile packer

我有一个运行CentOS的VMWARE映像。我想用打包器从中创建一个流浪盒。我是Vagrant的新手,有人可以建议这些步骤吗?

2 个答案:

答案 0 :(得分:3)

Packer通过vmware-vmx builder

支持使用Packer将其他配置步骤应用于现有VM
  

此VMware Packer构建器能够创建VMware虚拟机   来自现有的VMware虚拟机(VMX文件)。它目前   支持在运行VMware Fusion的主机上构建虚拟机   适用于OS X的专业版,适用于Linux和Windows的VMware Workstation,以及   Linux上的VMware Player。

在您拥有现有CentOS VMX并希望将其转换为Vagrant框的情况下,您可以像这样创建packer.json配置文件:

{
  "builders": [{
    "type": "vmware-vmx",
    "source_path": "/path/to/a/vm.vmx",
    "ssh_username": "root",
    "ssh_password": "root",
    "ssh_wait_timeout": "30s",
    "shutdown_command": "echo 'packer' | sudo -S shutdown -P now"
  }],
  "provisioners": [{
    "type": "shell",
    "inline": ["echo 'my additional provisioning steps'"]
  }],
  "post-processors": [{
    "type": "vagrant",
    "keep_input_artifact": true,
    "output": "mycentos.box"
  }]
}

Packer将克隆源VMX,启动该框,应用您拥有的任何配置步骤,关闭该框,然后输出新的Vagrant" .box"文件。

答案 1 :(得分:0)

听起来你无法做到。 Packer假定一个基础盒(用于流浪者)并在一个新盒子结束。您无法通过Packer从正在运行的VM转到盒子。

如果您使用vagrant启动CentOS VM,则可以执行vagrant export 如果您手动制作了正在运行的VM,最好的办法是重新使用Vagrant框。如果您想继续这条路线:http://docs.vagrantup.com/v2/vmware/boxes.html