Luffare

Vagrant Handledning

Vagrant Handledning
Vagrant är ett verktyg för hantering av virtuella maskiner med ett enkelt kommandoradsgränssnitt. Det ska göra hela processen snygg och ren utan att din huvudinstallation är förorenad med massor av konfigurationsfiler.Vagrant använder VirtualBox i backend där de virtuella maskinerna körs och om du öppnar VirtualBox efter att ha installerat några av dessa Vagrant Boxes kommer du att se att det finns nya virtuella datorer som inte var där förut. Vagrant box är bara en annan term för virtuella maskiner som hanteras specifikt av det här verktyget som vi diskuterar.

Varför bry sig?

Hashicorp, företaget bakom Vagrant, har ett förvar för många Vagrant lådor vilka är förkonfigurerade virtuella maskinbilder där du kan generera valfritt antal virtuella datorer lokalt. Det löser två problem:

  1. Eftersom alla börjar med samma bild kan utvecklare bli av Det fungerar på min maskin ursäkt, där en viss app skulle fungera perfekt på en maskin, men inte en annan. Alla utvecklas på olika maskiner men körs på exakt samma konfiguration som virtuell maskin.
  2. Du behöver inte göra upprepad installation av virtuella maskiner om du bestämmer dig för att bli av med gamla. Vagrant tar hand om hela installationen och installationen av din virtuella dator. Allt från att fördela lagring och minne till att skapa användare som ställer in behörigheter.

På många sätt liknar det Docker-bilder och det löser liknande problem, med den viktigaste skillnaden att den använder virtuella datorer istället för att containrar gör det, bestämt, tyngre och långsammare alternativ. Virtuella maskiner har emellertid sina egna fördelar som bättre nätverksstack och mer flexibilitet när det gäller val av filsystem, etc. så att Vagrant kan fylla i en viss nisch av bärbara virtuella datorer.

Så låt oss komma igång!

Förutsättningar

Först och främst kravet är installationen av VirtualBox, varefter du bör installera Vagrant. Om du redan har VirtualBox installerat ska du bara hämta det senare. Installationsprocessen kan variera mycket beroende på vilket operativsystem din värd kör, så jag uppmanar dig att konsultera de officiella dokumenten för detta:

  1. Hämta VirtualBox här
  2. Få Vagrant här

Dessutom, om du använder Windows behöver du en SSH-klient, kanske du vill installera Git Bash som fungerar perfekt på Windows med standardinstallationsalternativen.

1.  Vagrant lådor

Vagrant Box är termen för virtuella maskiner som hanteras av Vagrant. Du kan få Vagrant-lådor som bara innehåller operativsystemet som Ubuntu, CentOS, etc. Eller de kan innehålla förkonfigurerade LAMP stack, MEAN stack eller annan programvaruinstallation som kan göra din process för utveckling och testning enklare.

Om du till exempel skriver ett WordPress-tema kan du få en Vagrant-ruta med WordPress-kärnan som redan körs på den. Du kan dela din projektmapp där du har innehållet i ditt tema med den här virtuella datorn. Kontrollera om det nya temat fungerar som förväntat. När du är klar med temat, destory bara rutan och lämnar bara projektfilerna som du nu vet skulle fungera bra i den verkliga världen.

Du kan utforska dessa rutor här. Vi ska börja med en vanlig Ubuntu 16.04 LTS låda. Du kan se det listat som ubuntu / xenial64, om du besöker länken ovan.

Öppna din terminal och skapa en mapp för dina Vagrant-experiment.

$ mkdir vagrant_box
$ cd vagrant_box

I den här mappen kan vi initiera vår Vagrant-miljö genom att köra:

$ vagrant init

Detta placerar en Vagrantfil inuti mappen som i huvudsak är ett Ruby-skript som beskriver konfigurationen av din Vagrant Box. Du behöver inte känna Ruby för att använda den här filen, syntaxen är ganska enkel. Vi kommer att täcka det väsentliga när vi går vidare.

Nu kan du köra vagrant up-kommandot och eftersom du kör det för första gången måste det ladda ner Virtual Machine-bilden från appen.vagrantup.com. Det kan ta lång tid beroende på din internetanslutning, men när den laddas ner, efterföljande vandrande upp kommandon för liknande vagrant init ubuntu / xenial64 tar inte så lång tid eftersom bilden nu sparas lokalt på din dator. Se till att du är i samma katalog (vagrant_box) där Vagrantfile placerades tidigare.

$ vagrant upp

När detta är klart kan du ssh in i rutan när användaren vandrar med rootbehörigheter. Kör bara följande:

$ vagrant ssh

Grattis! Du har precis loggat in i din första Vagrant Box. Nu när vi har börjat, låt oss lära oss några grundläggande vagrantkommandon innan vi gräver in i Vagrantfilen. Skriv bara exit och tryck för att lämna VM-terminalen. Den vandrande rutan kommer fortfarande att köras i bakgrunden.

Vanligt Vagrant-kommando

Om du vill stoppa körrutan kör du kommandot:

$ vagrant stopp

För att starta om kan du använda vagrant up

Om du vill kan du också använda

$ vagrant stänga av
$ vagrant CV

Dessa kommer att stänga av den virtuella datorn och återställa den säkert. Om du gör ändringar i Vagrantfilen och vill att ändringarna ska visas, använd kommandot:

$ vagrant omladdning

Kom ihåg att köra alla kommandon från samma katalog där din Vagrantfile finns. Du kan skapa fler vandrande rutor om du skapar nya kataloger någon annanstans och kör vagrant init  i dem. Du kommer att hantera dem från deras respektive mappar. De kan baseras på samma ubuntu / xenial bild vi fick tidigare, eller så kan du ta med mer bild.

För att lista alla vagrerande rutor och deras status (kör eller stoppas), använd kommandot:

$ vagrant global status

För att ta bort en vagrant box och allt dess privata innehåll kör du från boxens katalog (där dess respektive Vagrantfile finns):

$ vagrant förstöra

Basbilden som du laddade ner tidigare finns fortfarande om du vill skapa nya rutor senare. Om du vill se alla bilder som sparas lokalt, kör:

$ vagrant box-lista

För att radera själva rutan, kör:

$ vagrant box ta bort

Efter detta måste du ladda ner rutan igen om behovet av det skulle uppstå.

Inspektera Vagrantfilen

Vid första anblicken kan det tyckas att det finns många alternativ i en Vagrantfil. Även om det mycket väl kan vara sant är det intressant att notera hur mycket du kan åstadkomma med bara lite tweaking.

1.   Den delade mappen

De flesta vagrantlådor kommer med förkonfigurerade delade mappar. Till exempel, om du inspekterar Vagrantfilen skapade vi första gången vi sprang vagrant init du kommer att märka posten, som är en kommenterad rad,

# config.vm.synced_mapp "... / data", "/ vagrant"

Den synkroniserade mappen kan nås av både den vagrerande rutan och värdmaskinen. Det första argumentet efter konfigurera.vm.synkroniserad_mapp indikerar sökvägen till mappen på värden och det andra argumentet indikerar sökvägen där mappen kommer att monteras på rutan för gästvandrare. Som standard delas också mappen där du skapade Vagrantfilen med rutan vagrant.

Låt oss verifiera detta genom att ssh-in i vår vagrant box.

$ vagrant ssh

Här listar du filsystemen.

$ df -h

Du kan se att det finns ett stort filsystem luffare monterad på /luffare väg. Anledningen till att den är så stor beror på att Vagrantfile-mappen på min värdmaskin är på en partition som är 632 GB stor och mappen där borta kan växa till den storleken också. Eftersom det är samma mapp som delas med rutan, ger den en vansinnig mängd lagring.

Du kan inspektera innehållet i /luffare och de är desamma som du ser på din värd, nämligen en Vagrantfile och en annan loggfil.

Du kan lägga till mer delad mapp där kommentaren som förklarar syntaxen för den delade mappen visas.

Såhär,

I detta fall en mapp med namnet Delad mapp håller på att läggas till, vilket är en katalog ovan, därav den dubbla punkten före den. Den här mappen är monterad på / var / www / html  på insidan av lådan. Det är här de flesta webbservrar som apache och nginx letar efter webbinnehållet som de vill servera.

Du kan helt enkelt få in dina projektfiler, din html, css och js Delad mapp där du arbetar på den på din värdmaskin med grafiska textredigerare som Atom och VSCode . Den vagrerande rutan kommer att fungera som produktionsservern som skulle servera dessa filer.

Nu är frågan, hur ser vi dessa html-filer serveras som en webbsida. Vilket värdnamn du ska ange i webbläsaren?

2.   Nätverk

Som standard ger vagrant några användbara konfigurationer. Förfrågan som skickas av din webbläsare till localhost på port 8080 vidarebefordras till port 80 i din vagrantbox. Så om du har en webbserver som körs på din vagrantbox som lyssnar på port 80 (standard http-port) kan du se den webbsidan genom att besöka http: // localhost: 8080

Å andra sidan kanske du vill undvika all vidarebefordran av localhost-port, i vilket fall du kan öppna Vagrantfilen och avmarkera följande rad:

konfigurera.vm.nätverk "privat_nätverk", ip: "192.168.33.10 "

Spara ändringarna du gjort och kör vagrant omladdning för att starta om rutan med ny konfiguration. Nu har den en dedikerad privat ip-adress 192.168.33.10 som endast din värd kan komma åt. Så du kan nu öppna webbläsaren och ange http: // 192.168.33.10 och du kan se webbsidorna serveras på standardport 80 på http.

Slutsats

Som du kan se kan Vagrant hjälpa dig att köra dina applikationer lokalt eftersom de skulle köras i produktion samtidigt som du kan arbeta med dem med IDE och textredigerare som du inte skulle ha på en typisk server. Användning av delade mappar och privat nätverk förbättrar avsevärt denna förmåga hos Vagrant.

Låt oss veta om du har fler frågor angående denna handledning eller om det finns något annat ämne som du vill att vi ska täcka.

Mus Omforma dina musknappar på olika sätt för olika program med X-Mouse Button Control
Omforma dina musknappar på olika sätt för olika program med X-Mouse Button Control
Kanske behöver du ett verktyg som kan göra att musens kontroll ändras med alla applikationer som du använder. Om så är fallet kan du prova en ansökan ...
Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jag har nyligen läst om Microsoft Sculpt Touch trådlös mus och bestämde mig för att köpa den. Efter att ha använt den ett tag bestämde jag mig för att...
Mus AppyMouse styrplatta och muspekare för Windows-surfplattor
AppyMouse styrplatta och muspekare för Windows-surfplattor
Surfplattanvändare saknar ofta muspekaren, särskilt när de brukar använda bärbara datorer. Pekskärmen Smartphones och surfplattor har många fördelar o...