Vagrant 如何减小漫游VM图像的大小

Vagrant 如何减小漫游VM图像的大小,vagrant,centos6,Vagrant,Centos6,我从这个图像启动了一个VM,它的大小只有2-300MB。然后我安装了几个软件包(java、node、docker等),以便为我的应用程序创建更快的启动映像 然后,我运行yum clean all和vagrant包--output newimage.box,但是newimage.box的大小约为3GB 我一直在寻找压缩/缩小这张图片的方法,但没有找到很多。我发现有人提到了zerofree,但无法将其安装在CentOS机箱上 如果您有任何建议,我们将不胜感激。您可以查看packer缩小图像大小的示例

我从这个图像启动了一个VM,它的大小只有2-300MB。然后我安装了几个软件包(java、node、docker等),以便为我的应用程序创建更快的启动映像

然后,我运行
yum clean all
vagrant包--output newimage.box
,但是
newimage.box
的大小约为3GB

我一直在寻找压缩/缩小这张图片的方法,但没有找到很多。我发现有人提到了
zerofree
,但无法将其安装在CentOS机箱上

如果您有任何建议,我们将不胜感激。

您可以查看packer缩小图像大小的示例

重点是

echo "==> Clean up yum cache of metadata and packages to save space"
yum -y --enablerepo='*' clean all

echo "==> Clear core files"
rm -f /core*

echo "==> Removing temporary files used to build box"
rm -rf /tmp/*

echo '==> Zeroing out empty area to save space in the final image'
dd if=/dev/zero of=/EMPTY bs=1M
rm -f /EMPTY
您可以查看一个示例,该示例使用封隔器来缩小图像大小

重点是

echo "==> Clean up yum cache of metadata and packages to save space"
yum -y --enablerepo='*' clean all

echo "==> Clear core files"
rm -f /core*

echo "==> Removing temporary files used to build box"
rm -rf /tmp/*

echo '==> Zeroing out empty area to save space in the final image'
dd if=/dev/zero of=/EMPTY bs=1M
rm -f /EMPTY
  • Zerofree应该很容易编译,它是一个依赖于ext2的单个c文件。(官方网站)

  • 根据我使用vdi文件的经验,在运行VBoxManage的compact命令之前,文件大小不会有太大变化。看来vagrant使用的是VDMK磁盘。 VirtualBox afaik不支持压缩VDMK,但此解决方案可能有效。VMware workstation应该可以开箱即用

  • 我宁愿把它作为评论发布,但显然,你需要更多的声誉

  • Zerofree应该很容易编译,它是一个依赖于ext2的单个c文件。(官方网站)

  • 根据我使用vdi文件的经验,在运行VBoxManage的compact命令之前,文件大小不会有太大变化。看来vagrant使用的是VDMK磁盘。 VirtualBox afaik不支持压缩VDMK,但此解决方案可能有效。VMware workstation应该可以开箱即用


  • 我宁愿将其作为评论发布,但显然,你需要更多的声誉。

    谢谢!这有助于将其大小减少到1.85GB。您认为这是它能得到的最小值,还是有办法进一步压缩它?您可以使用
    df-h
    查看磁盘使用情况,这取决于您安装的所有设备。它可能是最小的
    df-h
    报告为
    /dev/sda1 477M 56M 396M 13%/boot
    。在我看来,安装这些软件包会使图像大小增加8-9倍,这似乎很奇怪。谢谢!这有助于将其大小减少到1.85GB。您认为这是它能得到的最小值,还是有办法进一步压缩它?您可以使用
    df-h
    查看磁盘使用情况,这取决于您安装的所有设备。它可能是最小的
    df-h
    报告为
    /dev/sda1 477M 56M 396M 13%/boot
    。在我看来,安装这些软件包会使图像大小增加8-9倍,这似乎很奇怪。