Как добавить загруженный файл .box в Vagrant?


115

Как мне добавить загруженный .boxфайл в список доступных ящиков Vagrant? .boxФайл находится на внешнем диске.

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


Не могли бы вы опубликовать весь вывод вместе с бродячей версией? Теоретически добавление
vagrant

3
Я в Ubuntu, и vagrant box add my-box /path/to/file.boxу меня все работало нормально.
maan81

Ответы:


179

Решение:

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-путем к монашеству, поэтому схему file: // здесь можно как минимум опустить. Может быть, это изменение, связанное с конкретной версией, или с конкретными окнами, я скорее ожидаю последнего
Ойген Майер

90

Вы можете указать папку, в которой находится vagrant, и скопировать файл коробки в то же место. Затем после того, как вы можете запустить следующее

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, я не вижу ничего, что называется паролем, pem или чем-то еще
Ракиб

Если vagrant sshзапрашивается пароль, а используемый вами базовый ящик является общедоступным, скорее всего, это пароль vagrant.
Bender the Greatest

У меня та же ошибка, и бродяга с паролем ее не решила
Карим Самир

Пароль для современных ящиков MicrosoftPassw0rd!
Redsandro

27

Попробуйте сменить каталог на то, где .boxхранится

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


Я сделал, vagrant initи vagrant upмоя бродячая коробка работает. Но я не могу использовать ssh. Когда я это делаю, vagrant sshон говорит: «Машина, на которую вы пытаетесь подключиться по SSH, настроена на использование аутентификации на основе пароля. Vagrant не может ввести пароль за вас по сценарию. Если вам будет предложено ввести пароль, введите тот же пароль, что и вы. настроили в Vagrantfile. " тогда как я ничего не настраивал в Vagrantfile. Я просто использую то, Vagrantfileчто было создано автоматически vagrant init. Когда я cat Vagrantfile, я не вижу ничего, что называется паролем, pem или чем-то еще
Ракиб

9

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

  • Откройте cmd или powershell от имени администратора
  • 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 должно появиться новое поле в списке

4

В качестве альтернативы для добавления загруженного ящика можно создать файл 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

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

вот и все


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.