vagrant Paket, wie man Änderungen an der neuen Box speichert

8

Meine Frage bezieht sich auf hier , aber ich mach es nicht zur Arbeit.

Ich benutze eine vorgefertigte Landstreicherbox von vagrantbox.es ( Ссылка ) und ich möchte einige Änderungen vornehmen und das neue virtuelle Paket neu packen Maschine in eine neue Landstreicher Box-Datei.

Um das erste Feld zu erhalten, füge ich config.vm.box_url = "http://goo.gl/KwQSa2" zu meiner Vagrant-Datei hinzu.

Nach dem Aufruf von vagrant up mache ich vagrant ssh und dann eine Operation (z. B. touch testfile.txt ).

Nach dem Abmelden benutze ich vagrant package , was package.box erzeugt.

Dann mache ich vagrant destroy , füge den Pfad zu package.box zu config.vm.box_url in meiner Vagrant-Datei hinzu und mache wieder vagrant up .

Wenn ich mich bei der VM anmelde, ist mein testfile.txt nicht da, also sieht es so aus, als hätte ich die unveränderte Box gepackt.

Ich habe versucht, andere Dinge wie vagrant box repackage ohne Erfolg.

Was fehlt mir hier?

    
user1981275 08.05.2014, 13:55
quelle

1 Antwort

19

Wenn Sie ein Paket erstellen, müssen Sie die UUID der neuen erstellten VM (by vagrant up ) basierend auf der Basisbox angeben.

  

HINWEIS: Wenn Sie VirtualBox verwenden, erstellt es eine neue VM mit dem Namen - base_box_name-default-UUID.

Beim Ausführen

vagrant package --base name --output /path/to/name.box

Der Name --base NAME sollte entweder der Name der neuen VM oder seine UUID sein.

Sie können es mit dem folgenden Befehl abrufen:

%Vor%     
Terry Wang 09.05.2014, 04:48
quelle