Wir haben die Hälfte dieser Serie durchquert und zu diesem Zeitpunkt haben Sie vielleicht ein gutes Verständnis dafür, was Vagrant ist tut und wie man Provisioner in vagrant verwendet.
Bis jetzt verwenden Sie vorgefertigte Vagrant-Boxen, die von der Vagrant Cloud-Site heruntergeladen wurden. Einige Boxen sind für verschiedene Zwecke vorkonfiguriert, wie die Scotch-Box, die mit einer LAMPE geliefert wird Stack, trusty64cdh, der mit einer Single-Node-CDH-Hadoop-Distribution geliefert wird. Sie können auch Ihre Box wie die erwähnte erstellen und sie mit der Community oder anderen Geeks teilen, die mit Ihnen an demselben Projekt arbeiten.
Hier gibt es zwei Möglichkeiten, wie Sie eine Vagabundenbox erstellen können. Sie können einen beliebigen Hypervisor auswählen und das Gastbetriebssystem manuell installieren und das Betriebssystem härten und es dann in das Box-Format packen. Alternativ können Sie bereits in der Vagrant-Cloud vorhandene Boxen herunterladen, nach Ihren Wünschen anpassen und auf Box-Format umpacken. Das ist ziemlich einfach im Vergleich dazu, die Box von Grund auf neu zu bauen.
Eine neue Vagrant-Box erstellen
1. Wählen Sie die Box aus, die verwendet werden soll. In meinem Fall lade ich die Ubuntu/focal64-Box herunter. Erstellen Sie ein neues Verzeichnis und führen Sie vagrant init aus Befehl.
$ mkdir ubuntu $ cd rebuild $ vagrant init -m "ubuntu/focal64"
2. Rufen Sie die virtuelle Maschine auf, indem Sie vagrant init ausführen Befehl.
$ vagrant init
3. Verbinden Sie sich mit der virtuellen Gastmaschine mit:
$ vagrant ssh
Aktivieren Sie passwortbasiert Authentifizierung falls erforderlich, standardmäßig ist sie deaktiviert.
$ sudo sed -i "/^[^#]*PasswordAuthentication[[:space:]]no/c\PasswordAuthentication yes" /etc/ssh/sshd_config $ sudo service sshd restart
4. Ich möchte PostgreSQL installieren auf dieser virtuellen Maschine und reboxen.
$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' $ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - $ sudo apt-get update $ sudo apt-get -y install postgresql
Wechseln Sie als Postgres user und geben Sie psql
ein mit der Schale zu verbinden. Wenn jetzt alles gut geht, ist die Installation erfolgreich.
$ sudo su - postgres $ psql
5. Bevor wir die Kiste neu packen, müssen wir das zugrunde liegende Laufwerk auf Null setzen, um eine bessere Komprimierung zu erreichen.
$ sudo dd if=/dev/zero of=/EMPTY bs=1M $ sudo rm -f /EMPTY
Erstellen Sie eine neue Vagrant-Box mit einer vorhandenen Vagrant-Box
6. Erstellen Sie eine neue Box aus der vorhandenen virtuellen Maschine, indem Sie den folgenden Befehl ausführen.
$ vagrant package --output ubuntu_repacked.box
7. Schauen Sie sich das obige Bild an, wo Sie sehen können, dass eine neue Box erstellt wird „ubuntu_repacked.box “. Nun muss diese Box dem zu importierenden Vagrant hinzugefügt werden.
$ vagrant box add repacked ubuntu_repacked.box
8. Jetzt kann ich diese Box verwenden und eine neue virtuelle Gastmaschine hochfahren. Erstellen Sie ein neues Projektverzeichnis und führen Sie eine vagrant init durch .
$ mkdir repacked $ cd repacked $ vagrant init -m "repacked" $ vagrant up
Aus dem obigen Bild können Sie sehen, dass die von uns erstellte umgepackte Box importiert wird. Verbinden Sie sich mit der virtuellen Maschine und führen Sie psql
aus Befehl, um mit PostgreSQL zu arbeiten.
$ vagrant ssh $ sudo su - postgres $ psql
Wir sind am Ende dieses Artikels angelangt. Ich habe Ihnen gezeigt, wie Sie aus der vorhandenen Vagrant-Box eine Box erstellen. In diesem Beispiel habe ich Ihnen gezeigt, wie Sie PostgreSQL in der Vagrant-Box installieren. Der Echtzeit-Anwendungsfall kann alles sein und dieser Prozess ist sehr praktisch.