Es gibt überraschenderweise keine Dokumentation darüber, was die Vagrant-Befehle tun, außer Referenzen im gesamten Tutorial "Erste Schritte".
Was ich bisher ausgearbeitet habe:
box
- " Boxen " verwaltendestroy
- die VM herunterfahren und dann das gespeicherte Image löschen?gem
halt
- Fahren Sie die VM herunterinit
- Bereiten Sie ein Verzeichnis mit einer neuen Vagrant-Datei vorpackage
- die VM herunterfahren und dann in ein 'Paket' konvertieren, das in eine Box verwandelt werden kann? (Oder so)provision
- Führen Sie nur die Bereitstellungsphase (z. B. Chef, Puppet ...) ausreload
- Ändern Sie die VM-Konfiguration (z. B. Vagrantfile erneut anwenden), starten Sie die VM neu und stellen Sie sie erneut bereitresume
- Aufheben der Suspendierung (dh Aufheben des Ruhezustands)ssh
- Öffnen Sie eine SSH-Shell-Verbindung zur VMssh-config
status
suspend
- Ruhezustand der VMup
- einige oder alle von: Kopieren Sie ein VM-Image, um eine neue VM zu erstellen, wenden Sie die Konfiguration darauf an und starten Sie sie
Habe ich diese richtig? Was sind die anderen? Ich bin mir noch ein bisschen unklar über den genauen Unterschied zwischen reload
und destroy
/ up
.
virtualbox
vagrant
Steve Bennett
quelle
quelle
-h
), nicht weniger.Antworten:
Ich stimme Ihnen zu, dass die Dokumentation bei vagrantup etwas kürzer ist.
Einige Informationen können aus dem Befehlshilfesystem abgerufen werden.
Zum Beispiel:
gem
Befehl.Geben Sie einfach den Befehl ohne Argumente ein:
vagrant gem -h
und er erzeugt die Informationen, die Sie möglicherweise benötigen.Vagrant ssh-config
::Unter der Haube, wenn Sie
vagrant ssh
ssh in VM ausführen . Es verwendet seinen bekannten SSH-Schlüssel. Die Informationen zu diesem Schlüssel werden von bereitgestelltvagrant ssh-config
. Dies ist nützlich, wenn Sie den bekannten Schlüssel in Ihren eigenen privaten Schlüssel ändern und Boxen für die Verwendung vorbereiten möchten.Manchmal möchten Sie auch die ssh-basierte Automatisierung mit Ihren VMs verwenden. In diesem Fall ist es hilfreich zu wissen, welcher Schlüssel verwendet wird. Sie könnten den normalen ssh-Befehl verwenden -
ssh -i keyfile ..
vagrant status <vmname>
Dieser Befehl ist ein Wrapper, der Informationen zum Status von vm bereitstellt. Es könnte laufen, gespeichert und ausgeschaltet werden.
vagrant reload
Wenn Sie Änderungen an der Konfiguration in vagrantfile vornehmen, die wirksam werden müssen. Möglicherweise möchten Sie die VM neu laden. Die in der Vagrant-Datei definierte Bereitstellung wird erneut ausgeführt, es sei denn, Sie fragen nicht dazu.
Die von Ihnen aus einer Basisbox erstellte VM wird nicht zerstört. Das bedeutet, dass alle Änderungen, die Sie an Ihrer VM vorgenommen haben, z. B. das Erstellen eines Ordners in Ihrem Benutzerverzeichnis, nach dem erneuten Laden vorhanden sind.
Es ist wie ein Neustart, bei dem Ihre VM ausgeschaltet und dann bestimmte Konfigurationsänderungen vorgenommen werden, die nur angewendet werden können, wenn die VM ausgeschaltet wurde. und dann einschalten. Beispiel: wie das Anschließen einer anderen virtuellen SATA-Festplatte.
vagrant up
Dadurch wird Ihre Konfigurationsdatei gelesen
vagrantfile
und anschließend eine VM aus der Basisbox erstellt. Base Box ist wie eine Vorlage. Sie können viele VMs daraus erstellen.Ebenso
vagrant destroy
zerstört Ihre VM. In diesem Fall gehen alle Änderungen verloren, die Sie im Inneren vorgenommen haben. Aber das ist die coole Idee, dass Sie beim Erstellen einer neuen VM von einem vordefinierten Basiszustand ausgehen können.Ich benutze es sehr gerne und habe darüber gebloggt .
Zusammenfassend ist es ein guter Wrapper für VirtualBox-APIs und -Befehle . Sie können sich die VirtualBox-Befehle ansehen , um einige der Funktionen besser zu verstehen.
quelle
vagrant gem -h
gibt die Ausgabe an, die Sie gezeigt haben, aber alle anderen sagen überhaupt nichts Nützliches.vagrant init -h
: Gibt nur Folgendes an: Verwendung: vagrant init [Boxname] [Box-URL] -h, --help Diese Hilfe druckenIch bin nicht sicher, wann es geändert wurde, aber die aktuelle Version (1.6.3) enthält eine ordnungsgemäße Liste von Befehlen, und das Ausführen
vagrant list-commands
ergibt eine noch vollständigere Liste:Die einzigen Befehle, die in der vollständigen Liste ausgelassen werden, wenn sie
vagrant
alleine ausgeführt werden, sind die Docker- und Rsync- Befehle . Auf meinem System jedenfalls.Das scheint jetzt die endgültige Antwort zu sein.
quelle
Es ist wirklich schade, dass die aktuellen Dokumente für v1.1 zwar besser aussehen, aber viel weniger vollständig sind als v1. Das Credo "weniger ist mehr" funktioniert im Bereich der Dokumentation einfach nicht ...
Ich habe festgestellt, dass die umfassendste Übersicht in Bezug auf Vagrantfiles in den Kommentaren einer frisch erstellten Vagrantfile nach der Initialisierung eines Vagrant-Projekts enthalten ist. Es werden Parameter erwähnt, die derzeit nicht in der Dokumentation enthalten sind.
quelle