4

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

4

2 回答 2

3

Packer 通过vmware-vmx builder支持使用 Packer 对现有 VM 应用额外的配置步骤

此 VMware Packer 构建器能够从现有的 VMware 虚拟机(VMX 文件)创建 VMware 虚拟机。它目前支持在运行适用于 OS X 的 VMware Fusion Professional、适用于 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” 文件。

于 2015-07-08T14:52:21.793 回答
0

听起来你将无法做到。Packer 假设一个基本盒子(对于 vagrant)并在一个新盒子处结束。你不能通过 Packer 从一个正在运行的虚拟机转到一个盒子。

如果您使用 vagrant 启动 CentOS VM,则可以这样做 vagrant export 如果您有手动创建的正在运行的 VM,则最好的选择是使用 Vagrant 盒重新开始。如果您想继续这条路线:http ://docs.vagrantup.com/v2/vmware/boxes.html

于 2015-07-07T15:34:29.767 回答