Zwerver

Zwerver zelfstudie

Zwerver zelfstudie
Vagrant is een hulpmiddel voor het beheren van virtuele machines met behulp van een eenvoudige opdrachtregelinterface. Het zou het hele proces netjes en schoon moeten maken zonder dat je hoofdinstallatie vervuild raakt met een hoop configuratiebestanden.Vagrant gebruikt VirtualBox in de backend waar de virtuele machines draaien en als je VirtualBox opent na het installeren van een paar van deze Vagrant Boxes, zul je zien dat er nieuwe VM's zijn die er eerder niet waren. Vagrant box is gewoon een andere term van virtuele machines die specifiek worden behandeld door dit hulpprogramma dat we bespreken.

Waarom zou je je drukmaken?

Hashicorp, het bedrijf achter Vagrant onderhoudt een repository van velen zwervende dozen dit zijn vooraf geconfigureerde afbeeldingen van virtuele machines waarvan u een willekeurig aantal VM's lokaal kunt genereren. Het lost twee problemen op:

  1. Omdat iedereen met dezelfde afbeelding begint, kunnen ontwikkelaars zich ontdoen van Het-werkt-op-mijn-machine excuus, waar een bepaalde app perfect zou werken op de ene machine, maar niet op een andere. Iedereen ontwikkelt zich op verschillende machines, maar draait op exact dezelfde configuratie van de virtuele machine.
  2. U hoeft geen herhaalde installatie van virtuele machines uit te voeren als u besluit de oude te verwijderen. Vagrant zorgt voor de volledige installatie en setup van uw VM. Alles, van het toewijzen van opslag en geheugen tot het maken van gebruikers die machtigingen instellen.

In veel opzichten is het vergelijkbaar met Docker-afbeeldingen en lost het vergelijkbare problemen op, met als belangrijkste verschil dat het VM's gebruikt in plaats van containers, waardoor het beslist zwaarder en langzamer alternatief is. Virtuele machines hebben echter hun eigen voordelen, zoals een betere netwerkstack en meer flexibiliteit in de keuze van het bestandssysteem, enz. waardoor Vagrant een bepaalde niche van de draagbare VM's kan vullen.

Dus laten we beginnen!

Vereisten

De eerste en belangrijkste vereiste is de installatie van VirtualBox, waarna u Vagrant . moet installeren. Als je VirtualBox al hebt geïnstalleerd, koop dan de laatste. Het installatieproces kan sterk verschillen, afhankelijk van het besturingssysteem dat uw host gebruikt, dus ik raad u aan de officiële documenten daarvoor te raadplegen:

  1. Download VirtualBox hier
  2. Krijg Vagrant hier

Bovendien, als je Windows gebruikt, heb je een SSH-client nodig, misschien wil je Git Bash installeren dat perfect werkt op Windows met de standaard installatie-opties.

1.  zwervende dozen

Vagrant Box is de term voor virtuele machines die worden beheerd door Vagrant. Je kunt Vagrant-boxen krijgen die alleen het besturingssysteem bevatten, zoals Ubuntu, CentOS, enz. Of ze kunnen een vooraf geconfigureerde LAMP-stack, MEAN-stack of andere software-installatie bevatten die uw ontwikkel- en testproces gemakkelijker kan maken.

Als u bijvoorbeeld een WordPress-thema schrijft, kunt u een Vagrant-box krijgen waarop de kern van WordPress al wordt uitgevoerd. U kunt uw projectmap met de inhoud van uw thema delen met deze VM. Controleer of het nieuwe thema werkt zoals je had verwacht. Als je klaar bent met het thema, vernietig je gewoon de doos en laat je alleen de projectbestanden achter waarvan je nu weet dat ze in de echte wereld prima zouden werken.

Je kunt deze dozen hier verkennen. We gaan beginnen met een eenvoudige Ubuntu 16.04 LTS-box. Je kunt het zien als: ubuntu/xenial64, als je de link hierboven bezoekt.

Open je terminal en maak een map voor je Vagrant-experimenten.

$ mkdir zwerver_box
$ cd zwerver_box

In deze map kunnen we onze Vagrant-omgeving initialiseren door het volgende uit te voeren:

$ zwerver init

Dit plaatst een zwerversbestand in de map die in wezen een Ruby-script is dat de configuratie van je Vagrant Box beschrijft. Je hoeft Ruby niet te kennen om dit bestand te gebruiken, de syntaxis is vrij eenvoudig. We zullen de essentie behandelen terwijl we verder gaan.

Nu kunt u de opdracht vagrant up uitvoeren en omdat u het voor de eerste keer gebruikt, moet het de afbeelding van de virtuele machine downloaden van de app.zwerver.com. Het kan lang duren, afhankelijk van uw internetverbinding, maar als het eenmaal is gedownload, volgt de volgende zwervend commando's voor soortgelijke zwerver init ubuntu/xenial64 duurt niet zo lang omdat de afbeelding nu lokaal op je computer is opgeslagen. Zorg ervoor dat u zich in dezelfde map bevindt (zwerver_box) waar Vagrantfile eerder was geplaatst.

$ zwerver omhoog

Nadat dit is voltooid, kunt u: ssh in de doos als de zwerver van de gebruiker met root-privileges. Voer gewoon het volgende uit:

$ zwerver ssh

Proficiat! Je bent zojuist ingelogd op je eerste Vagrant Box. Nu we het begonnen zijn, laten we een paar basis zwerverscommando's leren voordat we ons verdiepen in het Vagrantfile. Typ gewoon exit en druk op om de terminal van de VM te verlaten. De zwerverbox zal nog steeds op de achtergrond actief zijn.

Common Vagrant-commando

Als u de actieve box wilt stoppen, voert u de opdracht uit:

$ zwerver stoppen

Om opnieuw op te starten kun je zwerver up gebruiken

Als je wilt, kun je ook

$ zwerver geschorst
$ zwerver CV

Deze zullen de VM opschorten en veilig terugbrengen. Als u wijzigingen aanbrengt in de Vagrantfile en u wilt dat de wijzigingen worden weergegeven, gebruikt u de opdracht:

$ zwerver herladen

Vergeet niet om alle opdrachten uit te voeren vanuit dezelfde map waarin uw Vagrantfile zich bevindt. U kunt meer zwervende vakken maken als u ergens anders nieuwe mappen aanmaakt en uitvoert zwerver init  in hen. Je beheert ze vanuit hun respectievelijke mappen. Ze kunnen gebaseerd zijn op hetzelfde ubuntu/xenial afbeelding die we eerder hebben gekregen, of u kunt meer afbeelding binnenhalen.

Gebruik de opdracht om alle zwervende dozen en hun status (in werking of gestopt) weer te geven:

$ zwerver global-status

Om een ​​zwervende doos en al zijn privé-inhoud te verwijderen, voer je uit de map van de doos (waar het respectievelijke Vagrantbestand zich bevindt):

$ zwerver vernietigen

De basisafbeelding die u eerder hebt gedownload, bestaat nog steeds als u later nieuwe vakken wilt maken. Als u alle afbeeldingen wilt zien die lokaal zijn opgeslagen, voert u het volgende uit:

$ zwervers box lijst

Om de doosafbeelding zelf te verwijderen, voert u het volgende uit:

$ zwerver doos verwijderen

Hierna moet u de box opnieuw downloaden, mocht dit nodig zijn.

Het zwerversbestand inspecteren

Op het eerste gezicht lijkt het erop dat er veel opties zijn in een Vagrantfile. Hoewel dat heel goed waar kan zijn, is het interessant om op te merken hoeveel je kunt bereiken met slechts een klein beetje tweaken.

1.   De gedeelde map

De meeste zwerversboxen worden geleverd met vooraf geconfigureerde gedeelde mappen. Als u bijvoorbeeld het Vagrant-bestand inspecteert dat we de allereerste keer hebben gemaakt dat we hebben uitgevoerd zwerver init u zult de invoer opmerken, een regel met commentaar,

# configuratie.vm.synced_folder "… /data", "/vagrant”

De gesynchroniseerde map is toegankelijk voor zowel de zwerverbox als de hostmachine. Het eerste argument na configuratie.vm.gesynchroniseerde_map geeft het pad naar de map op de host aan en het tweede argument geeft het pad aan waar die map op de gastzwerver zal worden gemount. Standaard wordt de map waarin je de Vagrantfile hebt gemaakt ook gedeeld met de zwerverbox.

Laten we dit verifiëren door in onze zwerverbox te ssh-en.

$ zwerver ssh

Geef hier de bestandssystemen weer.

$ df -h

Je kunt zien dat er een groot bestandssysteem is zwerver gemonteerd op /zwerver pad. De reden dat het zo groot is, is omdat de Vagrantfile-map op mijn hostmachine zich op een partitie bevindt die 632 GB groot is en de map daar ook tot die grootte kan groeien. Omdat het dezelfde map is die met de box wordt gedeeld, biedt het een waanzinnige hoeveelheid opslagruimte.

U kunt de inhoud van /zwerver en ze zijn dezelfde die je op je host ziet, namelijk een Vagrantfile en een ander logbestand.

U kunt meer gedeelde mappen toevoegen waar de opmerking met uitleg over de syntaxis van de gedeelde map verschijnt.

Vind ik leuk,

In dit geval een map met de naam Gedeelde map wordt toegevoegd, dat is één map hierboven, vandaar de dubbele punt ervoor. Deze map is gemount op /var/www/html  aan de binnenkant van de doos. Dit is waar de meeste webservers zoals apache en nginx zoeken naar de webinhoud die ze willen aanbieden.

U kunt eenvoudig uw projectbestanden, uw html, css en js in Gedeelde map waar u eraan werkt op uw hostmachine met behulp van grafische teksteditors zoals Atom en VSCode . De zwervende doos zal fungeren als de server van productiekwaliteit die deze bestanden zou serveren.

Nu is de vraag, hoe zien we dat deze html-bestanden als webpagina worden geserveerd?. Welke hostnaam moet in de browser worden ingevoerd??

2.   Netwerken

Vagrant biedt standaard enkele handige configuraties. Het verzoek dat door uw browser naar localhost op poort 8080 is verzonden, wordt doorgestuurd naar poort 80 op uw zwervende box. Dus als je een webserver hebt die draait op je zwerver die luistert op poort 80 (standaard http-poort), dan kun je die webpagina zien door naar http://localhost:8080 te gaan

Aan de andere kant wil je misschien alle localhost port forwarding vermijden. In dat geval kun je de Vagrantfile openen en de volgende regel verwijderen:

configuratie.vm.netwerk "private_network", ip: "192.168.33.10"

Sla de aangebrachte wijzigingen op en voer het uit zwerver herladen om de box opnieuw te starten met een nieuwe configuratie. Nu heeft het een speciaal privé-ip-adres 192.168.33.10 waar alleen je host toegang toe heeft. U kunt nu dus de browser openen en http://192 . invoeren.168.33.10 en u kunt zien dat de webpagina's worden bediend op de standaardpoort 80 van http.

Conclusie

Zoals u kunt zien, kan Vagrant u helpen uw applicaties lokaal uit te voeren, aangezien ze in productie zouden draaien, terwijl u ermee kunt werken met behulp van IDE's en teksteditors die u niet zou hebben op een typische server. Het gebruik van gedeelde mappen en privénetwerken verbetert deze mogelijkheden van Vagrant . aanzienlijk.

Laat het ons weten als je meer vragen hebt over deze tutorial, of als er een ander onderwerp is dat je door ons wilt laten behandelen.

Beste Linux-distributies voor gaming in 2021
Het Linux-besturingssysteem heeft een lange weg afgelegd van zijn oorspronkelijke, eenvoudige, servergebaseerde uiterlijk. Dit besturingssysteem is de...
Hoe u uw gamesessie op Linux kunt vastleggen en streamen
In het verleden werd het spelen van games alleen als een hobby beschouwd, maar met de tijd zag de game-industrie een enorme groei in termen van techno...
Beste spellen om te spelen met handtracking
Oculus Quest introduceerde onlangs het geweldige idee van handtracking zonder controllers. Met een steeds toenemend aantal games en activiteiten die f...