vagrant 打包 box 文件很大是什么原因?

2018-03-04 23:32:56 +08:00
 king2014
官方找了个 centos68 的镜像大概 200M 多,自己编译安装了 php.mysql,nginx,Apache 以及安装上述软件必要的依赖,还安装了 zsh,git,vim.修改了下安装源,最后打包出来 box 居然变成了 3G 的大小,我看了下系统本身没什么东西啊,怎么会这样?在我看来安装那些软件后大小在 600M 左右是理想的,现在这个问题一直困扰我,系统是 win7 的。
4252 次点击
所在节点    Vagrant
6 条回复
mritd
2018-03-04 23:42:49 +08:00
清楚下 yum 缓存,还有编译缓存
题外话 如果仅仅是这些的话,试试 docker
zhs227
2018-03-04 23:47:39 +08:00
首先 df 或 du 确定一下虚拟机内的文件有多大,然后再看看 vmdk 有多大。
1. 如果文件本身比较大,需要清除 yum 的缓存,删掉不必要的大文件和临时文件
2. 如果实际空间和 vmdk 差距比较大,请先使用网上传的回收大法, 关键词 dd /dev/zero
3. 做完第 2 步以后,压缩一下 vmdk。这个也可以在网上找到教程,windows 上最容易
4. 做完步骤 3,再 vagrant 打包

第 1 步的清除大法,可以在网上找一些对应的 dockerfile,看看里面的清除是怎么弄的。比如基于 centos 的 lamp 套件 docker 等,里面都比较详细。
7654
2018-03-04 23:49:40 +08:00
用 0 填充,然后压缩打包
king2014
2018-03-04 23:51:25 +08:00
@mritd 我试试,我只是想在 win 环境下面搭一个开发环境,docker 之前有花时间了解了一下,个人感觉更适合线上部署,vagrant 本地部署开发环境个人感觉蛮方便的,另外现在 docker 基本上是针对 centos7 了,公司线上环境还是 centos68。教程是有的,但是比较老了,至少官网都是针对 7 以上的教程。
king2014
2018-03-04 23:52:45 +08:00
@zhs227 多谢
king2014
2018-03-04 23:52:55 +08:00
@7654 好的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/434774

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX