Як додати завантажений файл .box до Vagrant?


115

Як додати завантажений .boxфайл до списку доступних вікон Vagrant? .boxФайл знаходиться на зовнішньому диску.

Я спробував запустити vagrant box add my-box d:/path/to/box, але Vagrant трактує шлях як URL.


Чи можете ви опублікувати весь результат разом із бродяжною версією? Теоретично чарівне додавання коробки повинно працювати як шарм із локальними шляхами до файлів
Еміль,

3
Я в Ubuntu, і vagrant box add my-box /path/to/file.boxдобре працював для мене.
maan81

Відповіді:


177

Рішення:

vagrant box add my-box file:///d:/path/to/file.box

Повинно бути у форматі URL.


8
Що робити, якщо я використовуюvagrant box add my-box ./path/to/mybox.box ?
Ракіб

ви також можете передати його, -fщоб змусити його знову завантажити і замінити його, якщо воно вже існує. наприкладvagrant box add -f my-box http://some-url
Бред Паркс

vagrant під macos та linux (2.2.2) працює з монстром URI-шлях до, тому файл схеми: // тут можна хоча б опустити. Можливо, що зміна конкретної версії або її специфіка для Windows, я радше очікую останньої
Євген Майер

90

Ви можете вказати на папку, в якій бродять, і скопіювати файл поля у те саме місце. Тоді після того, як ви можете запустити наступним чином

vagrant box add my-box name-of-the-box.box
vagrant init my-box
vagrant up

Просто для перевірки стану

vagrant status

я зробив, vagrant initі vagrant upмоя бродяча скринька працює. Але я не можу ssh. Коли я vagrant sshце роблю : "Машина, на яку ви намагаєтеся ввести SSH, налаштована на використання автентифікації на основі пароля. Вагрант не може ввести пароль для вас. Якщо вам буде запропоновано ввести пароль, введіть той самий пароль, який ви налаштувались у Vagrantfile. " тоді як я нічого не налаштовував у Vagrantfile. Я просто використовую те, Vagrantfileщо було створено автоматично vagrant init. Коли я cat Vagrantfile, я не бачу нічого, що називається паролем, або пісем, чи будь-що інше
Ракіб

Якщо ви vagrant sshзапитуєте пароль, а базове поле, яке ви використовуєте, є загальнодоступним, швидше за все, пароль є vagrant.
Бендер найбільший

Я маю ту саму помилку і паролі бродяг не вирішив її
Карім Самір

Пароль для скриньки modern.ie MicrosoftPassw0rd!
Redsandro

27

Спробуйте змінити каталог, куди .boxзбережено

Запустити vagrant box add my-box downloaded.box, це може працювати, оскільки це дозволяє уникнути абсолютного шляху (для Windows?).


я зробив, vagrant initі vagrant upмоя бродяча скринька працює. Але я не можу ssh. Коли я vagrant sshце роблю : "Машина, на яку ви намагаєтеся ввести SSH, налаштована на використання автентифікації на основі пароля. Вагрант не може ввести пароль для вас. Якщо вам буде запропоновано ввести пароль, введіть той самий пароль, який ви налаштувались у Vagrantfile. " тоді як я нічого не налаштовував у Vagrantfile. Я просто використовую те, Vagrantfileщо було створено автоматично vagrant init. Коли я cat Vagrantfile, я не бачу нічого, що називається паролем чи пісем, чи що-небудь таке
Ракіб,

9

Рішення для Windows:

  • Відкрийте cmd або powerhell як адміністратор
  • CD у папку, що містить .boxфайл
  • vagrant box add --name name_of_my_box 'name_of_my_box.box'
  • vagrant box list має відобразити нове поле у ​​списку

Рішення для MAC:

  • Відкритий термінал
  • CD у папку, що містить .boxфайл
  • vagrant box add --name name_of_my_box "./name_of_my_box.box"
  • vagrant box list має відобразити нове поле у ​​списку

3
F:\PuppetLab\src\boxes>vagrant box add precise32 file:///F:/PuppetLab/src/boxes/precise32.box
==> box: Adding box 'precise32' (v0) for provider:
    box: Downloading: file:///F:/PuppetLab/src/boxes/precise32.box
    box: Progress: 100% (Rate: 1200k/s, Estimated time remaining: --:--:--)
==> box: Successfully added box 'precise32' (v0) for 'virtualbox'!

3

Спочатку перейменуйте Vagrantfile, а потім

vagrant box add new-box name-of-the-box.box
vagrant init new-box
vagrant up

Просто для перевірки стану

vagrant status

це все


3

Крім того, щоб додати завантажене поле, файл json з метаданими можна створити. Таким чином можна застосувати деякі додаткові деталі. Наприклад, імпортувати вікно та вказати його версію, створити файл:

{
  "name": "laravel/homestead",
  "versions": [
    {
      "version": "7.0.0",
      "providers": [
        {
          "name": "virtualbox",
          "url": "file:///path/to/box/virtualbox.box"
        }
      ]
    }
  ]
}

Потім запустіть vagrant box addкоманду з параметром:

vagrant box add laravel/homestead /path/to/metadata.json

1

Просто для додання опису для ще одного випадку. Мені потрібно встановити подібні конфігурації на основі Vagrant Ubuntu 18.04 на декількох машинах Ubuntu. Завантажили вікно bionic64 в одне за vagrant upдопомогою, Vagrantfileде вказано це поле, а потім скопіювали папку .vagrant.d/boxes/ubuntu-VAGRANTSLASH-bionic64в інші.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.