如何减小 Vagrant VM 映像的大小

     2023-03-10     289

关键词:

【中文标题】如何减小 Vagrant VM 映像的大小【英文标题】:how to reduce the size of Vagrant VM image 【发布时间】:2016-06-14 02:44:00 【问题描述】:

我从这张图片https://atlas.hashicorp.com/bento/boxes/centos-6.7 启动了一个虚拟机,它的大小只有 2-300MB。然后我安装了一些包(java、node、docker 等),以便为我的应用创建更快的启动映像。

然后我运行 yum clean allvagrant package --output newimage.box,但 newimage.box 的大小约为 3GB。

我一直在寻找一种方法来压缩/减小此图像的大小,但没有找到很多。我发现有人提到zerofree,但一直无法在 CentOS 机器上安装它。

任何建议/建议将不胜感激。

【问题讨论】:

【参考方案1】:

您可以查看一个 cleanup script 示例,该示例用于打包程序以缩小图像大小。

重点是

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

【讨论】:

谢谢!这有助于将其大小减少到 1.85GB。你认为这是最小的,还是有办法进一步压缩它? 您可以向df -h 查询磁盘使用情况,这取决于您安装的所有内容,它可能是最小的 df -h 报告为/dev/sda1 477M 56M 396M 13% /boot。在我看来,安装这些软件包会使图像大小增加 8-9 倍。【参考方案2】:

    Zerofree 应该很容易编译,它是一个依赖于 ext2 的单个 c 文件。 (官网https://frippery.org/uml/)

    根据我使用 vdi 文件的经验,在运行 VBoxManage 的 compact 命令之前,大小不会有太大变化。看起来 vagrant 使用 VDMK 磁盘。 VirtualBox afaik 不支持压缩 VDMK,但此解决方法可能有效 https://***.com/a/35620550/7217931 。 VMware 工作站据说可以开箱即用。

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

【讨论】:

如何减小 RHEL/Centos/Fedora Docker 镜像的大小

】如何减小RHEL/Centos/FedoraDocker镜像的大小【英文标题】:HowtoreducethesizeofRHEL/Centos/FedoraDockerimage【发布时间】:2018-02-1518:30:25【问题描述】:来自RedHat的基本映像非常小,对于RHEL7.4大约为196M。但是,它往往会丢失我想要为其构建... 查看详情

如何将自己的公钥添加到 Vagrant VM?

】如何将自己的公钥添加到VagrantVM?【英文标题】:HowdoIaddmyownpublickeytoVagrantVM?【发布时间】:2015-07-1612:20:59【问题描述】:我在向VagrantVM添加ssh密钥时遇到问题。基本上我在这里的设置工作正常。创建虚拟机后,我可以通过vagr... 查看详情

使用azure虚机映像创建vm

上一篇文章我们介绍了如何创建Azure虚机映像,现在我们再来看下如何使用已经创建好的Azure虚机映像创建VM。首先还是登录到Azure门户,在左侧菜单栏中选择所有资源,在所有类型中下拉选择映像,如下图所示可以按“类型”对... 查看详情

如何与 https 共享 vagrant 机器

】如何与https共享vagrant机器【英文标题】:Howtoshareavagrantmachinewithhttps【发布时间】:2017-06-1700:16:32【问题描述】:我有一个正在工作的流浪虚拟机,我想Share。在我的Vagrantfile中,我有:config.vm.network"forwarded_port",guest:80,host:8080con... 查看详情

Terraform 从 Packer 中制作的托管磁盘映像创建 VM

...我正在尝试使用Terraform基于此映像创建一个新VM,但我对如何设置我的.TF文件感到困惑。我可以创建其余的基础设施。我认为我的打包程序jso 查看详情

如何从另一个 virtualbox 来宾访问 vagrant 来宾?

】如何从另一个virtualbox来宾访问vagrant来宾?【英文标题】:HowcanIaccessavagrantguestfromanothervirtualboxguest?【发布时间】:2015-02-0901:37:15【问题描述】:场景是我的开发环境在我的笔记本电脑(主机)上的Vagrant盒子上,我想在vitualboxv... 查看详情

Vagrant 卡在“等待 VM 启动”

】Vagrant卡在“等待VM启动”【英文标题】:Vagrantstuckin"WaitingforVMtoBoot"【发布时间】:2014-09-2204:19:28【问题描述】:我想先提到这个问题,我确实已经查看了大多数(如果不是全部)流浪的“等待VM启动”故障排除线程:... 查看详情

如何减小字体真棒图标的大小?

】如何减小字体真棒图标的大小?【英文标题】:HowdoIdecreasethesizeofafont-awesomeicon?【发布时间】:2015-11-0615:46:46【问题描述】:减小字体真棒图标大小的最佳方法是什么。有fa-3x等……增加尺寸。有没有类可以减小尺寸?【问题... 查看详情

如何删除 Docker 映像?

...2013-07-1323:15:51【问题描述】:我在OSX10.8.4(MountainLion)下的Vagrant下运行Docker,每当我尝试删除已保存的图像时,都会出现错误:$dockerrmisome-image-id2013/07/15hh:mm:ssunexpectedJSONinput根据rmi帮助,正确的语 查看详情

为啥 Ubuntu docker 映像不是 VM [重复]

...明白虚拟机和容器之间的巨大差异。但这让我对Ubuntu容器如何存在感到困惑。由于Ubuntu是一个操作系统,我觉得这很矛盾。https://hub.docker.com/_/u 查看详情

(虚拟机)VM 内的 ls /vagrant 挂起

】(虚拟机)VM内的ls/vagrant挂起【英文标题】:ls/vagrantinsidea(virtualbox)VMhangs【发布时间】:2014-02-1416:00:44【问题描述】:我用下面的Vagrant文件配置了一个VM(vagrantup),然后我“vagrantssh”进入它,然后*ls/vagrant*它永远挂起,我... 查看详情

如何减小网站的整体字体大小?

】如何减小网站的整体字体大小?【英文标题】:Howtoreducetheoverallfont-sizeofawebsite?【发布时间】:2014-11-1520:44:10【问题描述】:有没有办法减少网站的整体字体大小?假设我们有一个WordPress主题(例如Highwind),如何在不影响任... 查看详情

如何调整 UIImage 的大小以减小上传图像的大小

】如何调整UIImage的大小以减小上传图像的大小【英文标题】:HowdoIresizetheUIImagetoreduceuploadimagesize【发布时间】:2015-03-1905:00:02【问题描述】:我一直在搜索谷歌,并且只遇到过降低高度/宽度或通过CoreImage编辑UIImage外观的库。但... 查看详情

proxmoxve(pve)减小缩减虚拟机硬盘设置的空间大小

参考技术A如果想减小空间设置,需要通过命令行调整即是调整LV的大小,命令操作如下先通过lvs命令查看虚拟机所设置的空间大小然后执行lvdisplay来查看具体路径,我这个的路径是/dev/pve/vm-100-disk-0执行下边的命令将空间大小减... 查看详情

删除 .vagrant 文件后如何销毁虚拟机?

】删除.vagrant文件后如何销毁虚拟机?【英文标题】:HowdoIdestroyaVMwhenIdeletedthe.vagrantfile?【发布时间】:2013-03-0218:49:10【问题描述】:我删除了包含.vagrant文件的目录。当我启动一个新虚拟机时,它抱怨端口正在使用中。那么如何... 查看详情

如何减小 libskiasharp.so 的大小?

】如何减小libskiasharp.so的大小?【英文标题】:howtoreducelibskiasharp.sosize?【发布时间】:2016-11-0805:11:09【问题描述】:我尝试使用skiasharp开发xamarinformsapp,然后我发现apk文件在android平台上太大了。我看了一下apk文件,它看起来libS... 查看详情

如何减小 Ratingbar 的大小?

】如何减小Ratingbar的大小?【英文标题】:HowcanIdecreasethesizeofRatingbar?【发布时间】:2011-09-0311:01:42【问题描述】:在我的活动中,我有一些评分栏。但是这个酒吧的规模是如此之大!我怎样才能让它变小?编辑感谢加布里埃尔·... 查看详情

如何在目标 c 中减小图像的大小

】如何在目标c中减小图像的大小【英文标题】:HowtodecreasethesizeoftheImageinobjectivec【发布时间】:2012-09-2610:32:32【问题描述】:问题是,当图像大小超过60kb时,它不会将图像发布到web服务,但如果图像大小小于60kb,则将其发布到... 查看详情