Wenn man sich eine virtuelle Maschine entsprechend seiner Wünsche angepasst hat, ist es möglich daraus ein Imgage für vagrant zu bauen.
Als erstes sollte man die history
Dateien vom System entfernen:
cat /dev/null > ~/.bash_history && history
Anschließend können wir mit folgendem Befehl aud der entsprechenden Box eine neue erstellen:
vagrant package <VM-Name> --output mynew.box
Beispiel:
$ vagrant package db01 --output mynew_DB.box
==> db01: Attempting graceful shutdown of VM...
==> db01: Clearing any previously set forwarded ports...
==> db01: Exporting VM...
==> db01: Compressing package to: /home/rasputin/gitlab/vagrant/centos7/mynew_DB.box
Um solch eine eben erstellte Vagrant Box zu einer Vagrant Instanz hinzuzufügen verwendet man:
vagrant box add mynewbox mynew.box
Beispiel:
$ vagrant box add mynew_DB.box --name centos7_mariadb
==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'centos7_mariadb' (v0) for provider:
box: Unpacking necessary files from: file:///home/rasputin/gitlab/vagrant/centos7/mynew_DB.box
==> box: Successfully added box 'centos7_mariadb' (v0) for 'virtualbox'!
Nun sollte das selbst erstellte Image auch in der Liste der installierten Images erscheinen.
$ vagrant box list
centos/7 (virtualbox, 1809.01)
centos7_mariadb (virtualbox, 0)
generic/alpine38 (virtualbox, 1.8.40)