Что происходит с файлом .box после выполнения следующей команды?
vagrant box add lucid32 http://files.vagrantup.com/lucid32.box
Я не могу найти файл lucid32.box
в файловой системе после завершения загрузки.
Что происходит с файлом .box после выполнения следующей команды?
vagrant box add lucid32 http://files.vagrantup.com/lucid32.box
Я не могу найти файл lucid32.box
в файловой системе после завершения загрузки.
Как упоминалось в документах, ящики хранятся по адресу:
~/.vagrant.d/boxes
C:/Users/USERNAME/.vagrant.d/boxes
В Mac/Linux System успешно загруженные боксы расположены по адресу:
~/.vagrant.d/boxes
и неудачные поля расположены по адресу:
~/.vagrant.d/tmp
В системах Windows он находится в папке "Пользователи":
C:\Users\%userprofile%\.vagrant.d\boxes
Надеюсь, это поможет. Благодаря
Чтобы изменить Путь, вы можете установить новый Путь к Enviroment-Variable с именем: VAGRANT_HOME
export VAGRANT_HOME=my/new/path/goes/here/
Это может быть приятно, если вы хотите иметь эти бродячие-изображения на другом жестком диске.
Дополнительная информация здесь, в документах: http://docs.vagrantup.com/v2/other/environmental-variables.html
Фактический .box
файл удаляется Vagrant после завершения загрузки и установки окна. Как упоминалось в других ответах, при загрузке файл .box хранится как:
~/.vagrant.d/tmp/boxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
где имя файла является "полем", за которым следует 40-байтовый шестнадцатеричный хеш. Например, временный файл в моей системе:
~/.vagrant.d/tmp/boxc74a85fe4af3197a744851517c6af4d4959db77f
Насколько я могу судить, этот файл никогда не сохраняется с расширением *.box
, что объясняет, почему поисковые запросы не смогли найти его. Существует два способа получить фактический файл окна:
Загрузите файл .box с сайта vagrantcloud.com
vagrantcloud.com
. Итак https://atlas.hashicorp.com/ubuntu/boxes/trusty64/versions/20150530.0.1
становится https://vagrantcloud.com/ubuntu/boxes/trusty64/versions/20150530.0.1/providers/virtualbox.box./providers/virtualbox.box
в конец этого URL-адреса. Итак https://vagrantcloud.com/ubuntu/boxes/trusty64/versions/20150530.0.1 становится https://vagrantcloud.com/ubuntu/boxes/trusty64/versions/20150530.0.1/providers/virtualbox.boxconfig.vm.box_url
на URL. ИЛИПолучить .box прямо из Vagrant
Это требует, чтобы вы изменили источник рубинов, чтобы не допустить, чтобы Vagrant удалил поле после успешной загрузки.
/Applications/Vagrant/embedded/gems/gems/vagrant-1.5.2/lib/vagrant/action/builtin/box_add.rb
box_add
есть блок, который гласит:
обеспечить # Удостоверьтесь, что мы удаляем временный файл после его добавления, #, если мы не были прерваны, и в этом случае мы сохраняем их #, поэтому мы можем возобновить загрузку позже. если! @download_interrupted @logger.debug( "Удаление временного поля: # {box_url}" ) начать box_url.delete, если box_url спасения Errno:: ENOENT # Неважно, временный файл, возможно, не существует конец конец
vagrant add box <boxname>
.~/.vagrant.d/tmp/
как файл boxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
.mv boxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX trusty64.box
.Для меня это было полезно для извлечения файла .box, чтобы он мог размещаться на локальной, быстрой инфраструктуре, а не на загрузку из HashiCorp Atlas box catalog или другой поставщик пакетов.
Это действительно должно быть частью функциональности Vagrant по умолчанию, поскольку она имеет очень окончательный вариант использования.
@Luke Peterson: Есть более простой способ получить файл .box.
Просто перейдите в https://atlas.hashicorp.com/boxes/search, найдите поле, которое вы хотите загрузить. Обратите внимание на URL-адрес поля, например:
https://atlas.hashicorp.com/ ubuntu/boxes/trusty64/versions/20150530.0.1
Затем вы можете загрузить это поле с помощью URL-адреса, например:
https://vagrantcloud.com/ ubuntu/boxes/trusty64/versions/20150530.0.1/providers/virtualbox.box
Я пробовал и успешно загружал все необходимые мне коробки. Надеюсь, что поможет.
В Windows это место можно найти здесь. Я не нашел в Интернете никакой документации для этого, и мне это не сразу стало очевидным:
C:\Users\\{username}\\.vagrant.d\boxes
В дополнение к
Mac:
~/.vagrant.d/
Windows:
C:\Users\%userprofile%\.vagrant.d\boxes
Вы должны удалить файлы в VirtualBox/OtherVMprovider, чтобы начать все сначала.
В Windows 10 с Vagrant 2.2.2 установка переменной среды VAGRANT_HOME
обеспечит загрузку ящиков в подпапку папки, указанной для VAGRANT_HOME
.
В моем случае я установил VAGRANT_HOME
на e:\vagrant_home
, и ящики будут храниться в папке e:\vagrant_home\boxes
.
Это работает для меня.
Это где коробки хранятся. Виртуальные машины создаются в папке, настроенной в Virtual Box. Чтобы установить папку для хранения VirtualBox VM, перейдите в: VirtualBox GUI --> File --> Preferences --> General --> Default Machine Folder
.