如何检查 Vagrant Box 的磁盘大小?

如何检查 Vagrant Box 的磁盘大小?

有没有什么方法可以让我检查 Vagrant Box 的磁盘大小,最好是在下载/使用它之前?

理想情况下,我想去Vagrant Box 搜索页面并且能够在我的 Vagrantfile 中使用它之前查看磁盘大小。

否则,我至少想看看磁盘大小下载盒子。例如

$ vagrant box list -i
hashicorp/bionic64 (virtualbox, 1.0.282)  <--- show disk size here 
minimal/xenial64   (virtualbox, 16.04.2)

现在都是反复试验。我必须实际创建一个虚拟机并df在其中运行才能查看磁盘有多大。

vagrant@minimal-xenial:~$ df -h .
Filesystem                            Size  Used Avail Use% Mounted on
/dev/mapper/minimal--xenial--vg-root   57G  731M   53G   2% /
vagrant@minimal-xenial:~$ 

(为什么“最小”盒子会创建 60G 磁盘?我相信 xenial64 可以轻松容纳 20G)

答案1

当 vagrant 将盒子下载到其内部存储时,您可以轻松检查每个盒子占用了多少空间。Vagrant 将盒子存储在~/.vagrant.d/boxes每个盒子的子目录中。

  • Mac OS X 和 Linux:~/.vagrant.d/boxes
  • 视窗:C:/Users/USERNAME/.vagrant.d/boxes

然而,这并没有说明启动一个盒子实例时它们将使用多少额外空间。也没有说明下载盒子之前的大小。

由创建盒子的人来设置所需的尺寸等。

看这里:https://www.vagrantup.com/docs/boxes/base

另请参阅此处:https://stackoverflow.com/questions/10155708/where-does-vagrant-download-its-box-files-to

答案2

Virtualbox 特定答案

作为其他答案说,Vagrant 将盒子下载到<unix-or-windows-path>/.vagrant.d/boxes

如果您的 Vagrant 提供程序之一是 Virtualbox,并且您感兴趣的盒子支持 Virtualbox,您可以使用该VBoxManage showmediuminfo命令获取有关 Virtualbox 磁盘介质的更多详细信息。例如:

$ VBoxManage showmediuminfo ~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-focal64/20240306.0.0/virtualbox/ubuntu-focal-20.04-cloudimg.vmdk 
UUID:           081ca5d3-d839-4a43-94fc-2e146c76b3dc
Parent UUID:    base
State:          inaccessible
Access Error:   UUID {00000000-0000-0000-0000-000000000000} of the medium '/home/villapx/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-focal64/20240306.0.0/virtualbox/ubuntu-focal-20.04-cloudimg.vmdk' does not match the value {081ca5d3-d839-4a43-94fc-2e146c76b3dc} stored in the media registry ('/home/villapx/.config/VirtualBox/VirtualBox.xml')
Type:           normal (base)
Location:       /home/villapx/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-focal64/20240306.0.0/virtualbox/ubuntu-focal-20.04-cloudimg.vmdk
Storage format: VMDK
Format variant: dynamic streamOptimized
Capacity:       40960 MBytes
Size on disk:   581 MBytes
Encryption:     disabled

您可以在此处看到磁盘大小为 40960 MB。

(请注意,我不能说我理解该命令正在打印的 UUID 警告)

相关内容