Verpackung ein Basis-box mit einer custom Vagrantfile
Habe ich eine bestimmte Vagrantfile für eine lucid32 box, installiert einige ziemlich standard-Pakete (PHP/MySQL/Apache), hat einige spezifische port-forwarding und so weiter, habe ich es bis zur Kasse ein Projekt von git und ändern Sie einige server-Konfigurationen, ich möchte die Paket-box für die anderen Entwickler im team zu verwenden, also benutze ich den Befehl:
vagrant package boxname --output test.box --vagrantfile Vagrantfile
Bekomme ich einen test.box-Datei, die es Hinweise in der Verpackung, dass es das hinzufügen meiner spezifischen Vagrantfile, dann Lauf ich:
vagrant box add boxname test.box
Erscheint es in vagrant box list
ganz gut, wenn ich jetzt erstellen Sie einige test-Verzeichnis, und tun vagrant init boxname
gefolgt von vagrant up
und dann ist es Bestimmungen, die box mit den Dateien aus der Kasse und alles, aber tut nicht setup die richtige port-Weiterleitung,
und das ist in der Tat nicht mit meiner Vagrantfile ich verpackte es mit, sondern erzeugt ein neues default in diesem Verzeichnis.
Bemerkte ich in ~/.vagrant.d/Boxen/boxname hat es die Standard-Vagrantfile, zusammen mit, die ich verpackt in includes/_Vagrantfile
Gibt es eine Möglichkeit, die ich bekommen kann die spezifische Vagrantfile zu werden, die man erzeugt, wenn ich vagrant init boxname
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist eigentlich alles wie vorgesehen funktioniert. Die wandernden Lasten mehrere Vagrantfiles (nicht nur die von
vagrant init
) beim laden, und das Vagrantfile verpackt mit einer box ist einer von denen. Für mehr Informationen, Lesen Sie über die "Vagrantfile Last Order" hier: https://www.vagrantup.com/docs/vagrantfile/#load-order-and-mergingKurz gesagt: die Wandernden Lasten mehrere Vagrantfiles in einer bestimmten Reihenfolge, und führt Ihre Konfigurationen. Die box Vagrantfile geladen wird, als Teil dieses Prozesses vor der Wurzel Vagrantfile (den von
vagrant init
).Gibt es keine Möglichkeit derzeit, um ein Skelett Vagrantfile, die generiert wird, mit
vagrant init
.Die Konfiguration, die Sie in das verpackte Vagrantfile, wie port-forwards, geladen, richtig, da beim Zusammenführen von Konfigurationen, sollte es nur fügen Sie die port-forwards.
Wenn dies nicht geschieht, sollten Sie einen Fehler melden! Aber aus Gründen der eine SO die Antwort, dies ist, wie sich die Dinge Verhalten sollen.
Dieser code war für mich