【问题标题】:Vagrant custom box metadata.json fileVagrant 自定义框 metadata.json 文件
【发布时间】:2016-07-26 19:38:00
【问题描述】:

我有一个名为 package.box 的自定义框。我在尝试 vagrant up 时收到此错误,vagrant box add。我创建了一个具有不同配置但没有运气的 metadata.json 文件。我不明白这个消息。我使用 virtualbox 进行配置。

我不理解他们网站上关于 metadata.json 文件的文档。

找不到盒子“package.box”的“metadata.json”文件。
盒子需要这个文件才能让 Vagrant 确定
提供者。如果您制作了盒子,请添加一个
“metadata.json”文件。如果其他人制作了盒子,请
通知盒子创建者盒子已损坏。文档
box文件格式可以在以下网址找到:
https://www.vagrantup.com/docs/boxes/format.html

package.box 位于空目录中。在它旁边我放了这个 metadata.json 文件:

{
    "description": "long box description",
    "short_description": "short box description",
    "name": "company/developer-environment",
    "versions": [{
        "version": "1",
        "status": "active",
        "description_html": "<p>Dev Environment</p>",
        "description_markdown": "Dev Environment",
        "providers": [{
            "name": "virtualbox",
            "url": "./package.box"
        }]
    }]
}

我使用的是 ubuntu 16.04 系统,vagrant 1.8.5,virtualbox 5.0.26。

【问题讨论】:

    标签: ubuntu vagrant virtualbox vagrant-provision


    【解决方案1】:

    package.box 文件是您 VM 的 zip 文件,metadata.json 文件不能在 package.box 文件的旁边,而是在其中。

    所以在打包之前将元数据文件存储在 VM 文件旁边,类似于

    .
    |-- box-disk1.vmdk
    |-- box.ovf
    |-- metadata.json
    

    所以当您运行vagrant package 时,它将包含元数据文件作为盒子文件的一部分。

    【讨论】:

    • 谢谢。我重新包装盒子后效果很好。我不知道为什么,但它奏效了。元数据文件首先存在于那里。
    • 既然他给了你答案。不要犹豫,将他的回答标记为答案。
    【解决方案2】:

    免责声明:这不是一个答案,而是一个后续问题。

    这看起来与我遇到的问题一模一样。因为我无法从 Artifactory 获取 metadata.json。

    如何将 metadata.json 打包到 .box 文件中?

    我的盒子分两步创建。

    首先: 生成*.vmdk*.ovf 文件的基本图像

    完成

    "post-processors": [
        {
          "type": "artifice",
          "files": [
            "builds/{{.BuildName}}-{{.Provider}}-centos7.vmdk",
            "builds/{{.BuildName}}-{{.Provider}}-centos7.ovf"
          ]
        },
        {
          "type": "vagrant",
          "keep_input_artifact": true,
          "provider_override": "virtualbox"
        }
      ]
    

    第二: 我将我的网络应用程序安装到映像中,并生成 *.box 文件。

    完成:

    "post-processors": [
        [
          {
            "output": "builds/devbox.box",
            "type": "vagrant"
          }
        ]
      ]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-23
      • 2018-03-02
      • 2013-02-12
      相关资源
      最近更新 更多