【问题标题】:how to create a vagrant box from vmware image with packer如何使用打包器从 vmware 映像创建一个流浪盒
【发布时间】:2015-07-07 07:55:11
【问题描述】:

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

【问题讨论】:

    标签: vagrant vagrantfile packer


    【解决方案1】:

    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” 文件。

    【讨论】:

    • 谢谢。但是,我收到一个错误“Build 'vmware-vmx' errored: Timeout waiting for SSH.”。 ssh 用户名和密码正确。如何解决这个问题?
    【解决方案2】:

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

    如果你使用 vagrant 启动 CentOS VM,你可以这样做vagrant export 如果你有一个手动创建的正在运行的虚拟机,最好的办法是使用 Vagrant box 重新开始。如果你想继续这条路线:http://docs.vagrantup.com/v2/vmware/boxes.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-27
      • 2010-09-11
      • 1970-01-01
      • 2020-08-02
      • 2016-04-01
      相关资源
      最近更新 更多