Jak dodać pobrany plik .box do Vagrant?

115

Jak dodać pobrany .boxplik do listy dostępnych skrzynek Vagranta? .boxPlik znajduje się na dysku zewnętrznym.

Próbowałem uruchomić vagrant box add my-box d:/path/to/box, ale Vagrant interpretuje ścieżkę jako adres URL.

Petrus Theron
źródło
Czy mógłbyś opublikować cały wynik wraz z wersją włóczęgą? Teoretycznie błędne pudełko powinno działać jak urok z lokalnymi ścieżkami do plików
Emyl
3
Jestem w Ubuntu i vagrant box add my-box /path/to/file.boxdobrze mi się udało.
maan81

Odpowiedzi:

178

Rozwiązanie:

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

Musi mieć format adresu URL.

Petrus Theron
źródło
8
co jeśli vagrant box add my-box ./path/to/mybox.box ?
użyję
możesz również przekazać, -faby zmusić go do ponownego pobrania pudełka i zastąpić go, jeśli już istnieje. np.vagrant box add -f my-box http://some-url
Brad Parks,
vagrant pod macos i linux (2.2.2) działa z zakonnicą ścieżką URI do, więc schemat file: // można tutaj przynajmniej pominąć. Może to zmiana konkretnej wersji lub konkretnego okna, raczej spodziewam się tego drugiego
Eugen Mayer
90

Możesz wskazać folder, w którym vagrant i skopiować plik skrzynki do tej samej lokalizacji. Następnie możesz uruchomić w następujący sposób

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

Tylko po to, żeby sprawdzić status

vagrant status
Sameera Thilakasiri
źródło
Zrobiłem vagrant initi vagrant upmoja włóczęga działa. Ale nie mogę ssh. Kiedy vagrant sshto zrobię , mówi „Komputer, z którym próbujesz się połączyć przez SSH, jest skonfigurowany do korzystania z uwierzytelniania opartego na haśle. Vagrant nie może wprowadzić skryptu hasła za Ciebie. Jeśli zostanie wyświetlony monit o hasło, wprowadź to samo hasło skonfigurowane w pliku Vagrantfile. " podczas gdy nie skonfigurowałem niczego w Vagrantfile. Po prostu używam tego, Vagrantfileco zostało automatycznie utworzone vagrant init. Kiedy cat Vagrantfilenie widzę czegoś, co nazywa się hasłem, pemem ani niczym
Rakib
Jeśli vagrant sshprosi o hasło, a skrzynka podstawowa, której używasz, jest publiczna, prawdopodobnie jest to hasło vagrant.
Bender the Greatest
Mam ten sam błąd i hasło włóczęga go nie rozwiązało
Karim Samir
Hasło do skrzynek Microsoft modern.ie toPassw0rd!
Redsandro
27

Spróbuj zmienić katalog, do którego .boxzostał zapisany

Uruchom vagrant box add my-box downloaded.box, to może działać, ponieważ pozwala uniknąć ścieżki bezwzględnej (w systemie Windows?).

Terry Wang
źródło
Zrobiłem vagrant initi vagrant upmoja włóczęga działa. Ale nie mogę ssh. Kiedy vagrant sshto zrobię , mówi „Komputer, z którym próbujesz się połączyć przez SSH, jest skonfigurowany do korzystania z uwierzytelniania opartego na haśle. Vagrant nie może wprowadzić skryptu hasła za Ciebie. Jeśli zostanie wyświetlony monit o hasło, wprowadź to samo hasło skonfigurowane w pliku Vagrantfile. " podczas gdy nie skonfigurowałem niczego w Vagrantfile. Po prostu używam tego, Vagrantfileco zostało automatycznie utworzone vagrant init. Kiedy cat Vagrantfilenie widzę niczego, co nazywa się hasłem, pem ani czymkolwiek
Rakib
9

Rozwiązanie dla systemu Windows:

  • Otwórz cmd lub PowerShell jako administrator
  • CD do folderu zawierającego .boxplik
  • vagrant box add --name name_of_my_box 'name_of_my_box.box'
  • vagrant box list powinien pokazać nowe pole na liście

Rozwiązanie dla MAC:

  • Otwórz terminal
  • CD do folderu zawierającego .boxplik
  • vagrant box add --name name_of_my_box "./name_of_my_box.box"
  • vagrant box list powinien pokazać nowe pole na liście
langlauf.io
źródło
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'!
bhapat
źródło
3

Najpierw zmień nazwę pliku Vagrantfile

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

Tylko po to, żeby sprawdzić status

vagrant status

to wszystko

Ashfaq
źródło
3

Alternatywnie, aby dodać pobrane pudełko, można utworzyć plik json z metadanymi. W ten sposób można zastosować dodatkowe szczegóły. Na przykład, aby zaimportować box i określić jego wersję, utwórz plik:

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

Następnie uruchom vagrant box addpolecenie z parametrem:

vagrant box add laravel/homestead /path/to/metadata.json
Jakhongir
źródło
1

Wystarczy dodać opis dla innego przypadku. Muszę zainstalować podobne konfiguracje oparte na Vagrant Ubuntu 18.04 na wielu komputerach Ubuntu. Pobrano box bionic64 jednego korzystania vagrant upz Vagrantfilektórym ta opcja została określona, a następnie kopiowane folderu .vagrant.d/boxes/ubuntu-VAGRANTSLASH-bionic64innym.

Dmitriy Vinokurov
źródło