Есть ли способ проверить размер диска 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:~$
(И почему «минимальная» коробка создает диск на 60 ГБ? Я уверен, что xenial64 может спокойно поместиться на 20 ГБ)
решение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 мегабайт.
(Примечание: я не могу сказать, что понимаю предупреждение UUID, которое выводит эта команда)