Wie füge ich eine heruntergeladene .box-Datei zu Vagrant hinzu?

115

Wie füge ich eine heruntergeladene .boxDatei zur Liste der verfügbaren Boxen von Vagrant hinzu? Die .boxDatei befindet sich auf einem externen Laufwerk.

Ich habe versucht zu laufen vagrant box add my-box d:/path/to/box, aber Vagrant interpretiert den Pfad als URL.

Petrus Theron
quelle
Könnten Sie die gesamte Ausgabe zusammen mit der vagabundierenden Version veröffentlichen? Theoretisch vagabundierende Box hinzufügen sollte wie ein Zauber mit lokalen Dateipfaden funktionieren
Emyl
3
Ich bin in Ubuntu und habe vagrant box add my-box /path/to/file.boxgut für mich gearbeitet.
maan81

Antworten:

177

Lösung:

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

Muss in einem URL-Format sein.

Petrus Theron
quelle
8
Was ist, wenn ich benutzevagrant box add my-box ./path/to/mybox.box ?
Rakib
Sie können auch übergeben -f, um das erneute Herunterladen der Box zu erzwingen und sie zu ersetzen, falls sie bereits vorhanden ist. zBvagrant box add -f my-box http://some-url
Brad Parks
vagrant unter macos und linux (2.2.2) arbeitet mit einem nun-URI-Pfad zu, so dass die Schemadatei: // hier zumindest weggelassen werden kann. Vielleicht, dass eine version spezifische Änderung oder seine Windows spezifisch, ich erwarte eher die letztere
Eugen Mayer
90

Sie können auf den Ordner verweisen, in dem sich Vagabund befindet, und die Boxdatei an denselben Speicherort kopieren. Dann können Sie wie folgt laufen

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

Nur um den Status zu überprüfen

vagrant status
Sameera Thilakasiri
quelle
Ich habe vagrant initund vagrant upund meine Vagabundkiste läuft. Aber ich kann nicht ssh. Wenn ich das tue vagrant ssh, heißt es: "Der Computer, auf dem Sie SSH ausführen möchten, ist für die Verwendung der kennwortbasierten Authentifizierung konfiguriert. Vagrant kann das Kennwort nicht per Skript eingeben. Wenn Sie zur Eingabe eines Kennworts aufgefordert werden, geben Sie bitte dasselbe Kennwort ein, das Sie eingegeben haben." in der Vagrant-Datei konfiguriert haben. " während ich nichts in der konfiguriert habe Vagrantfile. Ich benutze nur das Vagrantfile, das automatisch erstellt wurde vagrant init. Wenn ich cat Vagrantfile, sehe ich nichts, was als Passwort oder Pem oder irgendetwas bezeichnet wird
Rakib
Wenn Sie vagrant sshnach einem Passwort gefragt werden und die von Ihnen verwendete Basisbox öffentlich ist, ist das Passwort wahrscheinlich vagrant.
Bender der Größte
Ich habe den gleichen Fehler und Passwort Vagrant hat es nicht gelöst
Karim Samir
Das Passwort für die modern.ie Microsoft-Boxen lautetPassw0rd!
Redsandro
27

Versuchen Sie, das Verzeichnis zu ändern, in dem .boxdas gespeichert ist

Führen Sie vagrant box add my-box downloaded.boxdies aus, da dies den absoluten Pfad vermeidet (unter Windows?).

Terry Wang
quelle
Ich tat vagrant init und vagrant upund meine Vagabundkiste läuft. Aber ich kann nicht ssh. Wenn ich das tue vagrant ssh, heißt es: "Der Computer, auf dem Sie SSH ausführen möchten, ist für die Verwendung der kennwortbasierten Authentifizierung konfiguriert. Vagrant kann das Kennwort nicht per Skript eingeben. Wenn Sie zur Eingabe eines Kennworts aufgefordert werden, geben Sie bitte dasselbe Kennwort wie Sie ein in der Vagrant-Datei konfiguriert haben. " während ich nichts in der konfiguriert habe Vagrantfile. Ich benutze nur das Vagrantfile, das automatisch erstellt wurde vagrant init. Wenn ich cat Vagrantfile, sehe ich nichts, was als Passwort oder Pem oder irgendetwas bezeichnet wird
Rakib
9

Lösung für Windows:

  • Öffnen Sie das Cmd oder die Powershell als Administrator
  • CD in den Ordner mit der .boxDatei
  • vagrant box add --name name_of_my_box 'name_of_my_box.box'
  • vagrant box list sollte das neue Feld in der Liste anzeigen

Lösung für MAC:

  • Terminal öffnen
  • CD in den Ordner mit der .boxDatei
  • vagrant box add --name name_of_my_box "./name_of_my_box.box"
  • vagrant box list sollte das neue Feld in der Liste anzeigen
langlauf.io
quelle
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
quelle
3

Benennen Sie dann zuerst die Vagrant-Datei um

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

Nur um den Status zu überprüfen

vagrant status

das ist alles

Ashfaq
quelle
3

Alternativ zum Hinzufügen einer heruntergeladenen Box kann eine JSON-Datei mit Metadaten erstellt werden. Auf diese Weise können einige zusätzliche Details angewendet werden. Zum Beispiel, um eine Box zu importieren und ihre Version anzugeben: Datei erstellen:

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

Führen Sie dann den vagrant box addBefehl mit dem folgenden Parameter aus:

vagrant box add laravel/homestead /path/to/metadata.json
Jakhongir
quelle
1

Nur um eine Beschreibung für einen anderen Fall hinzuzufügen. Ich muss ähnliche Vagrant Ubuntu 18.04-basierte Konfigurationen auf mehreren Ubuntu-Computern installieren. Heruntergeladene bionic64 Box zu einem mit vagrant upmit Vagrantfiledem dieses Feld angegeben wurde, dann Ordner kopiert .vagrant.d/boxes/ubuntu-VAGRANTSLASH-bionic64zu anderen.

Dmitriy Vinokurov
quelle