GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So erstellen Sie eine Vagrant-Box aus einer vorhandenen Box

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.


Linux
  1. So erstellen Sie eine Montage aus Bildern unter Linux

  2. So erstellen Sie ein Video aus PDF-Dateien unter Linux

  3. So erstellen Sie einen bootfähigen Linux-USB-Stick über die Linux-Befehlszeile

  4. Wie erstelle ich mit Virsh eine VM von Grund auf neu?

  5. So erstellen Sie ein benutzerdefiniertes Image aus einem Docker-Container

So erstellen Sie ein Video aus Bildern unter Linux

Wie erstelle ich ein Meldungsfeld von der Befehlszeile aus?

Wie erstelle ich ein Reseller-Konto von WHM?

Wie erstelle ich eine Website von RVSiteBuilder in cPanel?

Wie erstelle ich ein cPanel-Konto von WHM?

Wie übertrage ich eine vorhandene MySQL-Datenbank?