Proč se obtěžovat?
Hashicorp, společnost za Vagrantem, udržuje úložiště mnoha Vagrant Boxy což jsou předkonfigurované obrazy virtuálních strojů, z nichž můžete lokálně generovat libovolný počet virtuálních počítačů. Řeší dva problémy:
- Protože všichni začínají se stejným obrázkem, mohou se vývojáři zbavit Funguje to na mém stroji omluva, kde by určitá aplikace fungovala perfektně na jednom stroji, ale na jiném ne. Každý se vyvíjí na různých počítačích, ale běží na přesně stejné konfiguraci virtuálního stroje.
- Pokud se rozhodnete zbavit se starých, nemusíte dělat opakovanou instalaci Virtual Machines. Vagrant se stará o celou instalaci a nastavení vašeho virtuálního počítače. Všechno od alokace úložiště a paměti až po vytváření uživatelů s nastavením oprávnění.
V mnoha ohledech je to podobné jako obrázky Dockeru a řeší podobné problémy, přičemž klíčovým rozdílem je, že používá VM místo kontejnerů, které z něj dělají rozhodně těžší a pomalejší alternativu. Virtuální stroje však přicházejí s vlastními výhodami, jako je lepší síťový zásobník a větší flexibilita, pokud jde o výběr souborového systému atd., Což společnosti Vagrant umožňuje zaplnit konkrétní mezeru přenosných virtuálních počítačů.
Pojďme tedy začít!
Předpoklady
Nejdůležitějším požadavkem je instalace VirtualBoxu, po které byste měli nainstalovat Vagrant. Pokud již máte VirtualBox nainstalovaný, získejte ten druhý. Proces instalace se může značně lišit v závislosti na operačním systému vašeho hostitele, proto vás žádám, abyste si to ověřili v oficiálních dokumentech:
- Získejte VirtualBox zde
- Získejte Vagrant zde
Navíc, pokud používáte Windows, budete potřebovat klienta SSH, možná budete chtít nainstalovat Git Bash, který ve Windows funguje perfektně s výchozími možnostmi instalace.
1. Vagrant Boxy
Vagrant Box je termín pro virtuální stroje, které spravuje Vagrant. Můžete získat Vagrant boxy, které obsahují pouze operační systém jako Ubuntu, CentOS atd. Nebo mohou obsahovat předkonfigurovaný zásobník LAMP, MEAN stack nebo jinou instalaci softwaru, což vám může usnadnit proces vývoje a testování.
Například pokud píšete téma WordPress, můžete získat Vagrant box s již běžícím jádrem WordPress. S tímto virtuálním počítačem můžete sdílet složku projektu, kde máte obsah svého motivu. Zkontrolujte, zda nový motiv funguje podle očekávání. Jakmile skončíte s tématem, jednoduše zničte pole a ponechejte pouze soubory projektu, o kterých nyní víte, že by fungovaly v reálném světě.
Tato pole můžete prozkoumat zde. Začneme s prostým Ubuntu 16.04 LTS box. Můžete jej zobrazit jako ubuntu / xenial64, pokud navštívíte výše uvedený odkaz.
Otevřete terminál a vytvořte složku pro své Vagrant experimenty.
$ mkdir vagrant_box$ cd vagrant_box
V této složce můžeme inicializovat naše tulácké prostředí spuštěním:
$ vagrant init
Toto umístí a Tulácký soubor uvnitř složky, která je v podstatě skriptem Ruby popisujícím konfiguraci vašeho Vagrant Boxu. Abyste mohli používat tento soubor, nemusíte vědět Ruby, syntaxe je velmi jednoduchá. Postupně pojedeme o základech.
Nyní můžete spustit příkaz vagrant up a protože jej spouštíte poprvé, bude si muset stáhnout obrázek Virtual Machine z aplikace.vagrantup.com. V závislosti na vašem připojení k internetu to může chvíli trvat, ale po stažení bude následovat tulák vzhůru příkazy pro podobné tulák init ubuntu / xenial64 nebude to trvat tak dlouho, protože obrázek je nyní lokálně uložen ve vašem počítači. Ujistěte se, že jste ve stejném adresáři (vagrant_box) kde byl Vagrantfile umístěn dříve.
$ tulák nahoruAž to skončí, můžete ssh do pole jako tulák uživatele s oprávněním root. Spusťte následující:
$ tulák sshgratuluji! Právě jste se přihlásili do své první Vagrant Box. Teď, když to máme spuštěno, naučme se několik základních tuláckých příkazů, než se ponoříme do Vagrantfile. Stačí napsat exit a stisknout
Společný tulácký příkaz
Chcete-li zastavit spuštěný box, spusťte příkaz:
$ tulák se zastavíChcete-li restartovat, můžete použít tulák nahoru
Pokud chcete, můžete také použít
$ tulák pozastavit$ vagrant životopis
Ty pozastaví virtuální počítač a bezpečně ho vrátí zpět. Pokud provádíte změny ve Vagrantfile a chcete, aby se změny projevily, použijte příkaz:
$ vagrant reloadNezapomeňte spustit celý příkaz ze stejného adresáře, kde je umístěn váš Vagrantfile. Můžete vytvořit více tuláckých polí, pokud vytvoříte nové adresáře jinde a spustíte tulák init v nich. Budete je spravovat z příslušných složek. Mohou být založeny na stejném ubuntu / xenial obrázek, který jsme získali dříve, nebo můžete přinést další obrázek.
Chcete-li zobrazit seznam všech tuláckých polí a jejich stav (spuštěný nebo zastavený), použijte příkaz:
$ vagrant global-statusChcete-li odstranit tuláka a veškerý jeho soukromý obsah, spusťte z adresáře pole (kde se nachází jeho příslušný Vagrantfile):
$ tulák zničitZákladní obraz, který jste si stáhli dříve, bude i nadále existovat, pokud si později budete přát vytvořit nová pole. Chcete-li zobrazit všechny obrázky, které jsou uloženy místně, spusťte:
$ seznam tulákůChcete-li odstranit samotný obrázek pole, spusťte:
$ vagrant box odstranitPoté budete muset políčko znovu stáhnout, pokud to bude nutné.
Prohlídka tuláckého souboru
Na první pohled se může zdát, že uvnitř souboru Vagrant je spousta možností. I když to může být velmi pravda, je zajímavé si povšimnout, kolik toho můžete dosáhnout jen s trochou vylepšení.
1. Sdílená složka
Většina tuláckých krabiček má předem nakonfigurované sdílené složky. Například pokud prohlédnete Vagrantfile, vytvořili jsme to úplně poprvé, co jsme běželi tulák init všimnete si záznamu, což je řádek s komentářem,
# konfigurace.vm.synced_folder "… / data", "/ vagrant"K synchronizované složce lze přistupovat jak z vagrant boxu, tak z hostitelského počítače. První argument po konfigurace.vm.synced_folder označuje cestu ke složce na hostiteli a druhý argument označuje cestu, kde bude tato složka připojena k poli tuláka hosta. Ve výchozím nastavení je složka, kde jste vytvořili Vagrantfile, také sdílena s polem tuláka.
Ověřme to tím, že se vrhneme do naší tulácké krabice.
$ tulák sshZde uveďte seznam souborových systémů.
$ df -h
Vidíte, že existuje velký souborový systém tulák namontována na /tulák cesta. Důvod, proč je tak velký, je ten, že složka Vagrantfile na mém hostitelském počítači je na oddílu, který je velký 632 GB a složka tam může také narůst do této velikosti. Jelikož se jedná o stejnou složku, která je sdílena s tímto boxem, poskytuje šílené množství úložiště.
Můžete si prohlédnout obsah /tulák a jsou stejné, jaké vidíte na svém hostiteli, konkrétně jeden Vagrantfile a další logovací soubor.
Můžete přidat další sdílenou složku, kde se objeví komentář vysvětlující syntaxi sdílené složky.
Jako tak,
V tomto případě složka s názvem Sdílená složka se přidává, což je jeden adresář výše, tedy dvojitá tečka před ním. Tato složka je připojena / var / www / html uvnitř krabice. To je místo, kde většina webových serverů, jako je apache a nginx, hledá webový obsah, který chce poskytovat.
Můžete jednoduše mít soubory projektu, html, css a js Sdílená složka kde na něm pracujete na hostitelském počítači pomocí grafických textových editorů, jako jsou Atom a VSCode . Vagrant box bude fungovat jako server produkční třídy, který by tyto soubory obsluhoval.
Otázkou nyní je, jak vidíme, že tyto html soubory jsou poskytovány jako webová stránka. Jaké jméno hostitele zadat do prohlížeče?
2. Síťování
Ve výchozím nastavení poskytuje tulák několik užitečných konfigurací. Požadavek odeslaný vaším prohlížečem na localhost na portu 8080 je přeposlán na port 80 ve vašem vagrant boxu. Takže pokud máte spuštěný webový server na vašem vagrant boxu, který naslouchá na portu 80 (standardní http port), můžete tuto webovou stránku vidět na adrese http: // localhost: 8080
Na druhou stranu možná budete chtít vyhnout se veškerému přesměrování portů localhost, v takovém případě můžete otevřít Vagrantfile a odkomentovat následující řádek:
konfigurace.vm.network "private_network", ip: "192.168.33.10 "Uložte provedené změny a spusťte je vagrant reload restartujte pole s novou konfigurací. Nyní má vyhrazenou soukromou IP adresu 192.168.33.10 ke kterým má přístup pouze váš hostitel. Nyní tedy můžete otevřít prohlížeč a zadat http: // 192.168.33.10 a můžete vidět webové stránky obsluhované na standardním portu 80 protokolu http.
Závěr
Jak vidíte, Vagrant vám může pomoci spouštět vaše aplikace lokálně, protože by běžely ve výrobě současně, můžete s nimi pracovat pomocí IDE a textových editorů, které byste na běžném serveru neměli. Používání sdílených složek a privátních sítí výrazně zvyšuje tuto schopnost Vagrantu.
Dejte nám vědět, pokud máte další dotazy týkající se tohoto tutoriálu nebo pokud existuje nějaké jiné téma, kterému se chcete věnovat.