――Ich habe von virtuellen Umgebungen gehört, sie aber noch nie benutzt.
Damit die oben genannten Personen einen schnellen Überblick über Vagrant und dessen Verwendung erhalten.
Ich habe die beiden offiziellen Dokumentartikel von Vagrant übersetzt und zusammengefasst.
Außerdem habe ich bei der Zusammenstellung der beiden oben genannten Dokumente die ergänzenden Erklärungen ziemlich sorgfältig hinzugefügt, damit (auch Anfänger) nur mit diesem Qiita-Artikel so viel wie möglich verstehen können. __ __
Insbesondere __ "Konzepte / Begriffe, die Sie beim Lesen der offiziellen Dokumentation kennen sollten" und "Installieren von VirtualBox und Vagrant" werden als separate Kapitel für ergänzende Zwecke erläutert. __ __
(Wenn Sie es nicht brauchen, überspringen Sie es)
Im nächsten Kapitel werden wir vor dem eigentlichen Erstellen einer virtuellen Umgebung mit VirtualBox und Vagrant die Begriffe erläutern, die Ihnen das Verständnis erleichtern, indem Sie sie als Ergänzung in __7 __ Themen unterteilen.
Was ist VirtualBox? Laut IT Glossary / e-Words "Eine der Open Source-Virtualisierungssoftware. Sie können einen virtuellen Computer (Virtual Machine) als eine der Anwendungen erstellen, die auf dem Betriebssystem ausgeführt werden, und ein anderes Betriebssystem darauf ausführen. "
Die Funktion besteht darin, dass Sie virtuelle Maschinen mit verschiedenen Betriebssystemen auf dem Host-Betriebssystem (Basisbetriebssystem) wie Mac, Windows und Linux ausführen können. Bei Vagrant wird diese Art von Virtualisierungssoftware (einschließlich VirtualBox) als Anbieter bezeichnet.
In der obigen Abbildung, die vom Autor erstellt wurde, befindet sich die Virtualisierungssoftware auf dem Host-Betriebssystem. Dies wird als Virtualisierung vom Typ Host-Betriebssystem bezeichnet. (Es gibt andere Hypervisor-Typen, aber ich werde sie diesmal weglassen.)
Derzeit gibt es kein Problem mit dem Verständnis, dass eine virtuelle Maschine, die auf einem anderen Betriebssystem ausgeführt wird, über __OS platziert wird. __ __
__ Software, die eine virtuelle Umgebung bereitstellt __. Vagrant erstellt und betreibt virtuelle Maschinen in dieser virtuellen Umgebung. Dieses Mal verwenden wir die grundlegende VirtualBox, aber Sie können auch VMWare Fusion (Workstation), AWS (EC2), Rackspace usw. mit einem Plug-In hinzufügen.
__ Installieren und konfigurieren Sie Software wie "Webserver (Apache oder Nginx), Programmiersprache (PHP, Python, Ruby, usw.), DBMS (Posgre oder MySQL, usw.)" auf der virtuellen Maschine. ist.
Dieses Mal verwenden wir __shell script __ gemäß der offiziellen Dokumentation, aber Sie können auch andere Bereitstellungstools wie Ansible, Chef und Puppet verwenden.
Dies ist die Image-Datei, die die Grundlage für den Start einer virtuellen Maschine bildet. Sie können sich das als Vorlage für eine virtuelle Maschine vorstellen __.
Vagrant clooud ist die offiziell vorbereitete Box-Datei public site. Bis ich @ alfas Qiita-Artikel "Der richtige Weg, um Vagrant zu starten" gelesen habe, habe ich auch [vagrantbox.es](http: //www.vagrantbox). Ich habe es von einer inoffiziellen Box-Dateiseite namens es /) gelöscht. Es war eine gute Gelegenheit, die offizielle Vagrant-Dokumentation zu lesen. Vielen Dank!
__ Eine Datei, die den Aufbau einer virtuellen Maschine beschreibt (Spezifikationen der virtuellen Maschine, die mit Vagrant erstellt werden soll, Spezifikation der Bereitstellungstools usw.) __.
Terminal Es ist ein Befehl, der es einfach macht, Vagrant oben zu bedienen.
Virtualisierung ist nur mit VirtualBox möglich. Mit Vagrant können Sie jedoch die Einstellungsinformationen der virtuellen Umgebung einfach mit __ "Vagrantfile" festlegen / freigeben und mit dem Befehl "Vagrant" ausführen, um die Umgebung zu erstellen. Es ist __, das sehr einfach sein kann.
Gehen Sie zunächst zu Offizielle Oracle VirtualBox-Seite und gehen Sie zu
Klicken Sie links auf Downloads, um das für Ihre Umgebung geeignete herunterzuladen!
Wenn Sie nach dem Öffnen des Installationsprogramms alle Antworten mit Ja beantworten, wird die Installation erfolgreich abgeschlossen.
Gehen Sie zu Vagrants offizielle Seite und klicken Sie auf den Download-Button!
Wählen Sie die für Ihre Umgebung geeignete aus und klicken Sie auf die Schaltfläche Herunterladen! Die dmg-Datei wird heruntergeladen, also klicken Sie darauf!
Doppelklicken Sie auf Vagrant.pkg, um das Installationsprogramm zu starten. Sie können eine Auswahl treffen, indem Sie auf "Weiter" klicken.
Damit ist die Installation von VirtualBox und Vagrant abgeschlossen! Wir werden endlich mit dem Lesen des offiziellen Dokuments ab dem nächsten fortfahren!
Vagrant ist ein Tool zum Erstellen und Verwalten einer Umgebung für virtuelle Maschinen (mit einem einzigen Geschäftsvorgang). Vagrant konzentriert sich auf benutzerfreundliche Workflows und Automatisierung und reduziert die Rüstzeit Ihrer Entwicklungsumgebung und erhöht die Produktionsparität.
Why Vagrant
Vagrant bietet eine tragbare (tragbare) Arbeitsumgebung, die einfach zu konfigurieren (jeder im Team) und reproduzierbar ist.
Die Umgebung basiert ebenfalls auf branchenüblicher Technologie und wird von einem einzigen, konsistenten Workflow verwaltet, der zur Maximierung der Produktivität und Flexibilität Ihres Teams beiträgt.
Vagrant übt seine Kraft aus, indem er auf den Schultern verschiedener Giganten reitet (die auf einer Kombination bestehender Technologien stehen).
Virtuelle Maschinen werden auf VMware, AWS oder anderen Anbietern sowie auf virtuellen Umgebungen wie VirtualBox bereitgestellt. Industriestandard-Bereitstellungstools wie Shell-Skripte, Chef und Puppet können verwendet werden, um Software automatisch auf virtuellen Maschinen zu installieren und zu konfigurieren.
Vagrant trennt Abhängigkeiten und Einstellungen in einer einzigen, konsistenten Einwegumgebung. In diesem Fall können Sie die Ihnen vertrauten Tools (z. B. Editoren, Browser, Teiler usw.) nicht verwenden.
Sobald jemand (einschließlich Sie) eine Vagrant-Datei erstellt hat, müssen Sie nur noch "vagrant up" eingeben und alles, was Sie für Ihren Job benötigen, wird installiert und konfiguriert.
Andere Mitglieder des Teams erstellen die Entwicklungsumgebung ebenfalls aus denselben Einstellungen. Unabhängig davon, ob Sie unter Linux, Mac oder Windows arbeiten, spiegeln die Teammitglieder dieselben Abhängigkeiten in derselben Umgebung wider, genau dieselben. Sie führen den auf eingestellten Code aus.
Damit können Sie sich von "Phänomen (Fehler), das nur in Ihrer eigenen Umgebung auftritt" verabschieden!
Vagrant bietet eine Einwegumgebung und einen konsistenten Workflow zum Entwickeln und Testen von Infrastrukturverwaltungsskripten.
Sie können Shell-Skripte, Chef-Kochbücher, Puppet-Module und alles andere, was Sie für Ihre lokale virtuelle Umgebung verwenden, wie VirtualBox oder VMware, schnell testen.
Mit derselben Konfiguration können Sie diese Skripts in einer Remote-Cloud-Umgebung (z. B. AWS oder RackSpace) basierend auf demselben Ablauf testen.
Werfen Sie Ihre benutzerdefinierten Skripte weg, um EC2-Instanzen (AWS) zu recyceln, hören Sie auf, SSH-Eingabeaufforderungen auf verschiedenen Computern zu jonglieren, und verwenden Sie stattdessen Vagrant, um Ihr Leben wieder in Schwung zu bringen!
Vagrant legt automatisch alle erforderlichen Vorschläge für Ihre Webanwendung fest, sodass Sie sich nur auf Ihre Designarbeit konzentrieren können!
Sobald der Entwickler Vagrant eingerichtet hat, müssen Sie sich keine Gedanken mehr darüber machen, wie die App wieder funktioniert.
Sie müssen nicht mehr von anderen Entwicklern unterstützt werden, um Ihre Umgebung für Designtests zu ändern. Designer müssen nur den Code überprüfen, "vagrant up" und mit dem Entwerfen beginnen!
Vagrant ist die einfachste und schnellste Software zum Erstellen einer virtuellen Umgebung! Im nächsten Kapitel werden wir uns endlich mit Vagrants Kurzanleitung befassen!
Der Box-Dateiname wird vom Autor erstellt. Wenn Sie es aus Vagrant Clooud entfernen, müssen Sie die URL nicht schreiben.
//Erstellen Sie eine Vagrant-Datei, indem Sie die Box-Datei angeben
$ vagrant init hashicorp/bionic64
//VM-Start
$ vagrant up
//VM-Statusprüfung
$ vagrant status
//SSH-Verbindung
vagarnt ssh
//VM löschen
$ vagrant destroy
Geben Sie einfach den Befehl "vagrant up" ein und er bereitet alles vor, was Sie für Ihr Projekt benötigen (Installation abhängiger Software, Netzwerk, Einrichtung synchronisierter Dateien usw.), damit Sie bequem auf Ihrem eigenen Computer arbeiten können!
Starten Sie ein Terminal und geben Sie einen der drei folgenden Befehle ein.
$ vagrant
$ vagrant -h
$ vagrant -v
※Hinweis Einige Betriebssystemdistributionen enthalten auch das Vagrant-Paket im Upstream-Paket-Repository. In solchen Fällen verzichten Sie bitte auf die Installation mit dem Paketmanager (dieser Distribution). (Aufgrund von Paketabhängigkeiten können Probleme auftreten.) Verwenden Sie die Download-Seite.
3. Initialize a Project Directory
(1) Geben Sie das Stammverzeichnis Ihres PJ an. Viele der Konfigurationsoptionen von Vagrant beziehen sich auf dieses Stammverzeichnis. (2) Beschreiben Sie die für Ihren PJ erforderlichen Maschinentypen und Ressourcen. Beschreiben Sie auch, welche Software installiert werden soll und wie Sie auf dieselbe Weise darauf zugreifen möchten.
--Erstellen Sie ein Verzeichnis
//vagrant_getting_Startverzeichnis erstellen
$ mkdir vagrant_getting_started
//vagrant_getting_Zum gestarteten Verzeichnis wechseln
$ cd vagrant_getting_started
$ vagrant init hashicorp/bionic64
vagarant init (obwohl es sich um eine integrierte Funktion handelt) verwendet einen Boxdateinamen und eine URL als Argumente. Die Vagrant-Datei sollte sich jetzt im selben Verzeichnis befinden. Diese Datei unterliegt der Versionskontrolle, sodass neue Teammitglieder diese Vagrant-Datei verwenden können, um ihre Umgebung schnell aufzubauen.
Sie können eine virtuelle Maschine schnell klonen, indem Sie ein Basis-Image (Image-Datei) mit Vagrant verwenden. Diese Basisbilder werden in Vagrant als Box-Dateien bezeichnet. Das Angeben einer Box-Datei ist eine der Aufgaben, die Sie nach dem Erstellen einer Vagrant-Datei immer ausführen, und es ist auch das erste, was Sie tun sollten.
Ich werde den Befehl zum Installieren der Box-Datei erläutern, da er nützlich sein kann, wenn Sie die Box-Datei installieren möchten, ohne die Vagrant-Datei zu erstellen (obwohl diese Arbeit mit dem später zu erlernenden Befehl grundsätzlich nicht erforderlich ist).
$ vagrant box add hashicorp/bionic64
$Vagrant Box Benutzername hinzufügen/Boxname
Box wird global für aktuelle Benutzer gespeichert. Von dort aus können Sie die Box-Datei als Ausgangsbild in jedem PJ verwenden. (Das heißt, Sie verwenden dieselbe Box-Datei in zwei Projekten, und das Hinzufügen einer Datei in einem hat keine Auswirkungen auf das andere.) Der Box-Dateiteil kann durch eine URL oder einen lokalen Dateipfad ersetzt werden.
Öffnen Sie die Vagrant-Datei und geben Sie den Namen der Box-Datei in config.vm.box an. Auch wenn die Box nicht im Voraus hinzugefügt wurde, lädt Vagrat die Box beim Start automatisch herunter und fügt sie hinzu. (Aus diesem Grund benötigen Sie die oben eingeführte Box-Additionsarbeit grundsätzlich nicht.)
Sie können die Version auch explizit mit config.vm.box_version oder config.vm.box_url angeben. (Beides ist nicht erforderlich.)
Vagrant.configure("2") do |config|
config.vm.box = "hashicorp/bionic64"
config.vm.box_version = "1.0.282" #->optionnal:config.vm.box_version = "1.0.282"
#config.vm.box_url = "https://vagrantcloud.com/hashicorp/bionic64"
end
Finden Sie es unter Vagrant Cloud!
5. Boot an Environment --Lass uns eine VM (virtuelle Maschine) starten
Wenn Sie den folgenden Befehl eingeben, sollte eine unter Ubuntu ausgeführte VM in etwa 1 Minute gestartet werden.
$ vagrant up
Überprüfen Sie zunächst den Status mit einem Befehl.
$ vagrant status
Überprüfen Sie als Nächstes, ob die VM in der grafischen Benutzeroberfläche (GUI) verfügbar ist. Schreiben Sie die Vagrant-Datei neu, damit VirtualBox beim Start gestartet wird.
//Kommentieren Sie zwei aus, um den GUI-Modus zu aktivieren
config.vm.provider "virtualbox" do |vb|
# # Display the VirtualBox GUI when booting the machine
vb.gui = true
#
# # Customize the amount of memory on the VM:
# vb.memory = "1024"
end
Dies sollte VirtualBox automatisch starten. Es wird jedoch empfohlen, es mit einer SSH-Verbindung auszuführen (wie im offiziellen Dokument beschrieben), da es einfacher ist, es mit dem üblichen Terminal auszuführen!
Stellen wir eine SSH-Verbindung zur gestarteten virtuellen Maschine her.
$ vagrant ssh
Wenn Sie die Verbindung zur SSH-Verbindung trennen möchten, geben Sie "exit" oder "logout" ein oder drücken Sie Strg + d.
Stellen Sie nach dem Herstellen einer SSH-Verbindung zunächst sicher, dass Sie über die Vagrant-Datei verfügen
[vagrant@localhost ~]$ pwd
/home/vagrant
[vagrant@localhost ~]$ cd ../../
[vagrant@localhost /]$ ls
bin dev home lib64 media opt root selinux swapfile tmp vagrant
boot etc lib lost+found mnt proc sbin srv sys usr var
[vagrant@localhost /]$ ls vagrant/
Vagrantfile
[vagrant@localhost /]$
※__Warnung! !! __ __
__ Mach nicht rm -rf /
, weil es eine virtuelle Maschine ist! !! __ Weil Vagrant das Verzeichnis in / vagrant
mit dem Verzeichnis auf dem Host teilt, das Ihre Vagrant-Datei enthält, die ebenfalls gelöscht wird! Die Details der freigegebenen Ordner werden im nächsten Abschnitt erläutert.
Lassen Sie uns die SSH-Verbindung trennen und alle Ressourcen löschen, die beim Erstellen des Computers erstellt wurden.
$ vagrant destroy
default: Are you sure you want to destroy the 'default' VM? [y/N] y ->Geben Sie y!
==> default: Forcing shutdown of VM...
==> default: Destroying VM and associated drives...
//Überprüfen Sie den Status des Vagabunden
$ vagrant status
Current machine states:
default not created (virtualbox)
The environment has not yet been created. Run `vagrant up` to
create the environment. If a machine is not created, only the
default provider will be shown. So if a provider is not listed,
then the machine is not created for that environment.
//Die Box-Datei ist übrigens nicht weg
$ vagrant box list
hashicorp/bionic64 (virtualbox, 1.0.282)
$ vagrant box remove hashicorp/bionic64
Removing box 'hashicorp/bionic64' (v1.0.282) with provider 'virtualbox'...
Bisher haben Sie gelernt, wie Sie mit Vagrant die Umwelt bauen, betreiben und zerstören. Im nächsten Abschnitt erfahren Sie, wie Sie Dateien zwischen Ihrem lokalen PC und Ihrer (Gast-) virtuellen Maschine synchronisieren.
6. Synchronize Local and Guest Files
Ich glaube nicht, dass viele Leute eine Datei mit einem einfachen Vim-Editor bearbeiten möchten, mit dem sie über SSH verbunden sind.
Vagrant synchronisiert Ihre Dateien automatisch zwischen Ihrem lokalen SSH-Ziel-Gast-PC. Auf diese Weise können Sie lokal bearbeitete Dateien in einer virtuellen Entwicklungsumgebung ausführen.
Standardmäßig teilt Vagrant Ihr Projektverzeichnis (das Verzeichnis, in dem Sie die Vagrant-Datei mit vagrant init
in 3. Initialisieren eines Projektverzeichnisses erstellt haben) mit dem Verzeichnis / vagrant auf Ihrem Gastcomputer.
Lassen Sie uns überprüfen, wie die Datei tatsächlich mit dem Gastcomputer auf dem lokalen PC geteilt wird.
vagrant ssh`` / home / vagrant
ist, unterscheidet sich vom lokalen Dateifreigabeziel. (Wird im Verzeichnis "/ vagrant" direkt unter dem Stammverzeichnis freigegeben.)Stellen Sie zunächst eine SSH-Verbindung her und wechseln Sie in das Verzeichnis / vagrant.
$ vagrant ssh
$ cd ../../vagrant
$ pwd
->/vagrant
Erstellen Sie eine neue Hoge-Datei im Verzeichnis / vagrant
$ touch hoge
Ich konnte bestätigen, dass die lokale Projektdatei auch ein Hoge-Verzeichnis hat!
$ exit
logout
$ ls
Vagrantfile hoge
With synced folders, you can continue to use your own editor on your host machine and have the files sync into the guest machine. Mit synchronisierten Dateien
Als Nächstes erstellen wir eine Datei mit dem Namen fuga.html auf dem lokalen Computer und prüfen, ob diese Datei mit der VM synchronisiert ist.
Erstellen Sie zunächst lokal eine Datei.
$ touch fuga.html
$ ls
Vagrantfile hoge fuga
Als nächstes bearbeiten Sie den Inhalt von Fuga mit Ihrem Lieblingseditor.
fuga.html
<p>Kannst du es richtig bearbeiten?</p>
Ich konnte bestätigen, dass es fuga.html gibt, das auch das SSH-Ziel ist!
$ vagrant ssh
$ cd ../../
$ ls vagrant/
Vagrantfile hoge fuga.html
//fuga.Überprüfen Sie den Inhalt von HTML(Sie können dies auch mit dem Befehl view überprüfen.)
$ cat vagrant/fuga.html
<p>Kannst du es richtig bearbeiten?</p>
In der nächsten Theorie lernen wir, wie Sie mithilfe der Bereitstellung Pakete, Benutzer und mehr installieren.
7. Provision a Virtual Machine
In diesem Abschnitt verwenden wir die Bereitstellung, um die VM in einen Webserver zu verwandeln.
Erstellen Sie ein HTML-Verzeichnis in ~ / Desktop / vagrant_test.
$ mkdir html
Erstellen Sie als Nächstes eine index.html-Datei im HTML-Verzeichnis.
~/Desktop/vagrant_test/html/index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vagrant</title>
</head>
<body>
<h1>Vagrant Ich versuchte loszulegen!</h1>
</body>
</html>
In diesem Tutorial verwenden wir ein Shell-Skript, um Apaceh (als Webserver) einzurichten. Speichern Sie zunächst das folgende Shell-Skript als bootstrap.sh
.
bootstrap.sh
#!/usr/bin/env bash
apt-get update
apt-get install -y apache2
if ![ -L /var/www ]; then
rm -rf /var/www
ln -fs /vagrant /var/www
else
fi
Dieses Skript lädt Apache herunter und startet es.
Außerdem wird ein Symlink zwischen dem "Verzeichnis der zu synchronisierenden Dateien" und dem "Verzeichnis, in dem der Apaceh-Server nach dem Inhalt sucht, den er als Antwort bereitstellt" erstellt.
--__ #! Nachfolgendes Skript __
Das Skript nach #! In der ersten Zeile heißt Shebang und gibt einen Interpreter an (ein Programm wie ein Übersetzer, der den Quellcode interpretiert und ausführt). Mit anderen Worten, diesmal sage ich dem Computer: "Bitte interpretieren Sie dies als Bash-Skript." Es gibt kein Problem mit "bin / bash". Die Erklärung des Linkziels ist leicht zu verstehen!
apt-get ist ein Paketverwaltungssystem für Debian. (Das Ubuntu, das ich diesmal benutze, ist auch eine Art Linux namens Debian.) Es ist wie Homebrew auf dem Mac. Ab Ubuntu 14.04 wird anstelle von "apt-get" der Befehl "apt" empfohlen. Wie Sie in der Erläuterung des Links sehen können, ist der Befehl apt für den Benutzer grundsätzlich einfacher.
Ich kenne das Shell-Skript nicht! Es scheint zu sein, aber der Punkt ist, dass Sie denken können, dass die folgende if-Anweisung geschrieben ist. Referenz: [Shell-Skript] Verwendung von if für die bedingte Verzweigung!
wenn [Bedingung 1]; dann Bearbeitung bei Bedingung 1 elif [Bedingung 2]; dann Bearbeitung bei Bedingung 2 else Verarbeitung, wenn keine der Bedingungen 1 und 2 fi
Bedingung 1 ist "![-L / var / www]", aber -L bedeutet "wenn eine Datei existiert und eine symbolische Verknüpfung ist, ist sie wahr" und! Ist eine logische Ablehnung (! ! True ist gleichbedeutend mit false).
Mit anderen Worten, wenn die Datei nicht im Verzeichnis / var / www vorhanden ist, wird der Prozess ausgeführt.
Von oben ist dieses Shell-Skript
Das erste Mal: "Da der symbolische Link / var / www nicht vorhanden ist (nachdem das normale Verzeichnis / var / www gelöscht wurde, falls vorhanden), erstellen Sie / var / www als symbolischen Link von / vagrant."
Und das zweite Mal: "Da es einen symbolischen Link / var / www gibt, führen Sie die Verarbeitung nach else aus (diesmal nichts)."
Ich fand heraus, dass es das tun würde.
Starten Sie dann bootstrap.sh.
Stellen wir Vagrant so ein, dass dieses Skript beim Einrichten der VM gestartet wird!
Fügen Sie Ihrer Vagrant-Datei die folgende Zeile "config.vm.provision" hinzu.
Vagrant.configure("2") do |config|
config.vm.box = "hashicorp/bionic64"
config.vm.provision :shell, path: "bootstrap.sh"
end
Vagrant verwendet jetzt bootstrap.sh als Shell-Provisioner.
Wenn Sie die virtuelle Maschine noch nicht gestartet haben, geben Sie einfach "vagrant up" ein und Vagrant stellt sie automatisch mit bootstrap.sh bereit.
Selbst wenn Sie die virtuelle Maschine bereits gestartet haben, funktioniert sie problemlos, wenn Sie sie wie unten gezeigt neu laden. (Die Bereitstellung erfolgt nur beim ersten "Vagrant Up", daher können Sie dies mit "Vagrant Up" nicht erneut tun.)
$ vagrant reload --provision
Lassen Sie uns die HTML-Datei mit dem Befehl wget
am ssh-Ziel abrufen!
$ vagrant ssh
$ wget -qO- 127.0.0.1
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vagrant</title>
</head>
<body>
</html>
Nach dem Atmark IT / Linux-Basisbefehl ist wget ein Befehl, der "eine Datei durch Angabe einer URL herunterlädt".
-q
(--quiet) ist eine Option zum" Keine Fortschrittsmeldung ausgeben "
-O file
(--output-document = file) speichert die heruntergeladene Datei an dem als file
angegebenen Ziel. (Ähnlich wie beim Angeben des Speicherziels mit einer Umleitung.) Wenn Sie als Datei -
angeben, wird die Datei standardmäßig ausgegeben.
Dies funktioniert, weil ich in dem bereits eingerichteten Shell-Skript "Apache installieren" und "Verzeichnis / vagrant als Apache-Dokumentstamm festlegen" ausführe.
Standardmäßig wird der Apache-Webserver im Verzeichnis / var / www mit Dateien und Daten eingerichtet, die er verwaltet und als Antwort an den Webbrowser zurückgibt. (Das Verzeichnis unter dieser Verwaltung wird als Dokumentstamm gelesen.) Dieses Mal ist / var / www ein symbolischer Link von / vagrant. Wenn Sie also mit dem Inhalt von / vagrant herumspielen, wird die Änderung in der Datei unter dem Dokumentstamm von Aapche wiedergegeben.
Das nächste Tutorial behandelt Netzwerke. Lassen Sie uns auf die vom Gastcomputer bereitgestellte Website zugreifen, indem Sie einen Port auf den Gastcomputer werfen.
Für die Bereitstellung von Skripten ist es effizienter, eine benutzerdefinierte Vagrant-Box mit vorinstallierten Paketen zu verpacken, anstatt sie jedes Mal zu erstellen. Siehe hier für Details.
Mit der Portweiterleitung können Sie einen Port auf dem Gastcomputer angeben und (Dateien) über den Port auf dem Hostcomputer freigeben.
Durch Festlegen der Portweiterleitung können Sie auf den Apache-Webserver auf dem Gastcomputer zugreifen. Fügen Sie der Vagrant-Datei die Zeile "config.vm.network" hinzu.
Vagrant.configure("2") do |config|
config.vm.box = "hashicorp/bionic64"
config.vm.provision :shell, path: "bootstrap.sh"
config.vm.network :forwarded_port, guest: 80, host: 4567
end
Lassen Sie uns neu laden.
$ vagrant reload
Versuchen Sie nach dem Neustart der virtuellen Maschine, auf http://127.0.0.1:4567 zuzugreifen.
Deshalb konnte ich sicher darauf zugreifen!
Vagrant verfügt übrigens über andere Netzwerkformen, mit denen Sie einem Gastcomputer eine statische IP-Adresse zuweisen oder einen Gastcomputer mit einem vorhandenen Netzwerk verbinden können. Wenn Sie an anderen Netzwerktypen interessiert sind, lesen Sie bitte die Netzwerkseite.
Vagrant bietet nicht nur eine Entwicklungsumgebung, sondern erleichtert auch das Teilen und Zusammenarbeiten in diesen Umgebungen. Diese Grundfunktion heißt Vagrant Share.
Vagrant Share ist ein Plugin. Mit diesem Plug-In können Sie Ihre Vagrant-Umgebung über das Internet mit jedem auf der Welt teilen. Vagrant Share bietet URLs, die von jedem mit dem Internet verbundenen Gerät auf der Welt direkt an Ihre Vagrant-Umgebung weitergeleitet werden.
Sie haben ngrok installiert → Ich möchte die in der lokalen Umgebung erstellte Site über das Internet anzeigen! Ein Werkzeug, das man manchmal benutzen kann.
Installieren Sie Vagrant Share
$ vagrant plugin install vagrant-share
$ vagrant share
Öffnen Sie einen Webbrowser und besuchen Sie die von Ihnen ausgegebene URL! Die Seite, die Apache bereits erstellt hat, sollte geladen werden! (Wenn Sie die Datei ändern und die URL neu laden, wird sie angezeigt!) Auf diese Seite kann von jedem Gerät der Welt aus zugegriffen werden!
Vergessen Sie nicht, die Sitzung am Ende zu beenden.
$ ^C
==> default: Halting Vagrant share!
Sie sollten die Seite nach dem erneuten Laden der URL nicht mehr sehen können!
Wenn Sie mehr über Vagrant Share erfahren möchten, klicken Sie hier. ](Https://www.vagrantup.com/docs/share) Im nächsten Kapitel erfahren Sie mehr über den Abbauprozess!
Hier erstellen wir tatsächlich die virtuelle Umgebung, die wir in den vorherigen Kapiteln erstellt und geändert haben.
(1) Suspend [Pause] "Vagrant Suspend" (2) Vollständiger Stopp [Herunterfahren] "Vagabundstopp" (3) "Vagabund" streichen
Machen wir das. Welche Option (1) bis (3) verwendet werden soll, hängt davon ab, wie lange Sie die virtuelle Umgebung anhalten möchten, die Sie für die Arbeit verwenden, und wie schnell Sie die virtuelle Umgebung neu starten möchten. (Natürlich dauert der Neustart in der Reihenfolge Pause → Stopp → Löschen einige Zeit.)
Wenn Sie Vagrant noch nicht gestartet haben, tun Sie dies bitte.
$ vagrant up
$ vagrant status
->default running (virtualbox)
Lassen Sie uns zunächst die virtuelle Maschine mit "vagrant suspend" anhalten.
$ vagrant suspend
==> default: Saving VM state and suspending execution...
$ vagrant status
->default saved (virtualbox)
Wenn Sie eine virtuelle Maschine mit dem Befehl "vagrant suspend" anhalten, können Sie eine VM schnell anhalten und neu starten.
Durch das Einrichten von "vagrant up" wird die VM in dem Zustand erneut gestartet, in dem sie gestoppt wurde.
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'hashicorp/bionic64' version '1.0.282' is up to date...
==> default: Resuming suspended VM...
##... output truncated ...
Lassen Sie uns zunächst die virtuelle Maschine mit "vagrant halt" anhalten.
$ vagrant halt
$ vagrant status
->default poweroff (virtualbox)
Dadurch wird das Betriebssystem des Gastcomputers sicher heruntergefahren und die VM selbst heruntergefahren. Der Inhalt der CD ist ebenfalls gut erhalten. Lassen Sie es uns zur Bestätigung neu starten.
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'hashicorp/bionic64' version '1.0.282' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
##... output truncated ...
Das Neustarten einer vollständig gestoppten virtuellen Maschine dauert jedoch einige Zeit, da sie nach einem Kaltstart aufwacht und Speicherplatz verbraucht, selbst wenn sie gestoppt wird.
Durch das Löschen einer virtuellen Maschine mit "Vagrant Destroy" werden alle Spuren der Gastmaschine von Ihrer lokalen Maschine entfernt. Stellen Sie Speicherplatz und RAM (vom Gastcomputer belegt) wieder her, indem Sie den Gastcomputer herunterfahren und ausschalten.
$ vagrant destroy
default: Are you sure you want to destroy the 'default' VM? [y/N] y
==> default: Forcing shutdown of VM...
==> default: Destroying VM and associated drives...
Geben Sie "y" (yes) in die Eingabeaufforderung nach dem Befehl "vagrant destroy" ein, wie oben beschrieben.
Sie können die virtuelle Maschine auch erneut starten, indem Sie von hier aus "vagrant up" eingeben. Der Start dauert jedoch einige Zeit, und der vorherige Status wurde verworfen.
Egal wie weit Sie vom Projekt entfernt sind (mit Vagrant), Sie können Ihre Umgebung schnell hochfahren (starten Sie Ihre Maschine).
Die Methode ist einfach.
$ vagrant up
das ist alles! Die Vagrant-Umgebung wird allesamt über die Vagrant-Datei eingerichtet. Entwickler können also jederzeit einfach den Befehl "vagrant up" eingeben, damit Vagrant Ihre Arbeitsumgebung neu erstellt.
Dies ist das Ende des gesamten Lebenszyklus des Umweltbaus von Vagrant!
Im nächsten letzten Kapitel werden wir über andere Anbieter als VirtualBox sprechen!
Die Einstellungen für jeden Anbieter finden Sie in jedem offiziellen Dokument!
Wenn Sie einen neuen Anbieter installieren können, geben Sie einfach den folgenden Befehl ein, und es gibt kein Problem. (Keine Notwendigkeit, sich mit Vagrantfile anzulegen!)
$ vagrant up --provider=vmware_desktop
Sobald Sie einen anderen Anbieter angegeben und wie oben beschrieben "vagrant up" ausgeführt haben, verwenden andere Vagrant-Befehle automatisch den angegebenen Anbieter!
Wenn Sie beispielsweise bereit sind, eine SSH-Verbindung herzustellen oder eine virtuelle Maschine zu löschen (wie in den vorherigen Kapiteln), geben Sie den Befehl einfach normal ein und Sie können loslegen.
Wenn Sie mehr über Anbieter erfahren möchten, lesen Sie bitte diese Seite (Link zum offiziellen englischen Dokument).