Minek?
A Hagricorp, a Vagrant mögött álló vállalat sokak tárházát tartja fenn Csavargó dobozok amelyek előre konfigurált virtuális gép képek, amelyekből bármennyi virtuális gépet előállíthat helyben. Két problémát old meg:
- Mivel mindenki ugyanazzal a képpel indul, a fejlesztők megszabadulhatnak A gépemen működik mentség, ahol egy bizonyos alkalmazás tökéletesen működne az egyik gépen, a másikban viszont nem. Mindenki különböző gépeken fejlődik, de pontosan ugyanazon a virtuális gép konfigurációján fut.
- Nem kell ismételten telepítenie a virtuális gépeket, ha úgy dönt, hogy megszabadul a régiektől. A Vagrant gondoskodik a virtuális gép teljes telepítéséről és beállításáról. A tárhely és a memória kiosztásától kezdve egészen az engedélyeket beállító felhasználók létrehozásáig.
Sok szempontból hasonló a Docker-képekhez, és hasonló problémákat old meg, a legfontosabb különbség az, hogy virtuális gépeket használ a konténerek helyett, ami határozottan, nehezebb és lassabb alternatívát jelent. A virtuális gépeknek azonban megvannak a maguk előnyei, például jobb hálózati verem és nagyobb rugalmasság a fájlrendszer megválasztásában, stb., Lehetővé téve a Vagrant számára, hogy kitöltse a hordozható virtuális gépek egy bizonyos rését.
Tehát kezdjük!
Előfeltételek
Első és legfontosabb követelmény a VirtualBox telepítése, amely után telepítenie kell a Vagrantot. Ha a VirtualBox már telepítve van, akkor csak az utóbbit szerezze be. A telepítési folyamat nagymértékben eltérhet attól függően, hogy milyen operációs rendszert futtat a gazdagép, ezért arra kérem, hogy keresse fel a hivatalos dokumentumokat:
- Itt szerezheti be a VirtualBox-ot
- Szerezd meg itt a Csavargót
Ezenkívül, ha Windows rendszert használ, szüksége lesz egy SSH kliensre, érdemes telepíteni a Git Bash alkalmazást, amely tökéletesen működik a Windows rendszeren az alapértelmezett telepítési lehetőségekkel.
1. Csavargó dobozok
A Vagrant Box a Vagrant által kezelt virtuális gépek kifejezés. Megtalálhatja a Vagrant dobozokat, amelyek csak az operációs rendszert tartalmazzák, mint például az Ubuntu, a CentOS stb. Vagy tartalmazhatnak előre konfigurált LAMP-verem, MEAN-verem vagy más szoftver telepítést, amely megkönnyítheti a fejlesztési és tesztelési folyamatot.
Például, ha WordPress témát ír, beszerezhet egy Vagrant dobozt, amelyen már fut az alapvető WordPress. Megoszthatja a projekt mappáját, ahol megvan a témája tartalma ezzel a virtuális géppel. Ellenőrizze, hogy az új téma a várt módon működik-e. Ha elkészült a témával, csak romboljon a négyzettel, és csak azok a projektfájlok maradjanak, amelyekről most tudja, hogy a való világban jól működnek.
Ezeket a dobozokat itt fedezheti fel. Egy sima Ubuntu 16-tal fogunk kezdeni.04 LTS doboz. Láthatja, hogy fel van tüntetve ubuntu / xenial64, ha meglátogatja a fenti linket.
Nyissa meg a terminált, és hozzon létre egy mappát a Vagrant-kísérleteihez.
$ mkdir vagrant_box$ cd vagrant_box
Ebben a mappában a következő futtatással inicializálhatjuk Vagrant környezetünket:
$ csavargó init
Ez a Vagrantfile a mappán belül, amely lényegében egy Ruby szkript, amely leírja a Vagrant Box konfigurációját. A fájl használatához nem kell ismernie Rubyt, a szintaxis nagyon egyszerű. A lényeges dolgokkal foglalkozunk majd.
Most futtathatja a vagrant up parancsot, és mivel először futtatja, le kell töltenie a Virtual Machine képet az alkalmazásból.csavargó.com. Az internetkapcsolattól függően hosszú ideig tarthat, de miután letöltötte, később kóbor fel parancsok hasonlóakhoz kóbor init ubuntu / xenial64 nem tart ilyen sokáig, mert a képet most helyben menti a számítógép. Győződjön meg róla, hogy ugyanabban a könyvtárban van (csavargó_doboz), ahol korábban a Vagrantfile került.
$ kóbor felMiután ez befejeződött, megteheti ssh a dobozba, mint root jogosultságokkal csavargó felhasználó. Csak futtassa a következőt:
$ csavargó sshgratula! Most jelentkeztél be az első Csavargódobozba. Most, hogy elkezdődött, tanuljunk meg néhány alapvető csavargó parancsot, mielőtt elmélyülnénk a Vagrantfile-ban. Csak írja be az exit parancsot és nyomja meg
Közös Csavargó parancs
Ha le akarja állítani a futó mezőt, futtassa a következő parancsot:
$ csavargó megállAz újraindításhoz használhatja a csavargókat
Ha akarod, használhatod is
$ kóbor felfüggesztés$ kóbor önéletrajz
Ezek felfüggesztik a virtuális gépet, és biztonságosan visszahozzák. Ha változtatásokat hajt végre a Vagrantfile fájlban, és szeretné, ha a módosítások megjelennének, használja a következő parancsot:
$ kóbor újratöltésNe felejtse el futtatni az összes parancsot ugyanabból a könyvtárból, ahol a Vagrantfile található. További csavargó dobozokat hozhat létre, ha másutt új könyvtárakat hoz létre és futtatja kóbor init bennük. A megfelelő mappájukból fogja kezelni őket. Ugyanezen alapulhatnak ubuntu / xenial korábban kapott képet, vagy több képet is behozhat.
Az összes kóbor doboz és állapotuk (futó vagy leállított) felsorolásához használja a következő parancsot:
$ csavargó globális állapotEgy csavargó doboz és annak összes privát tartalmának eltávolításához futtassa a doboz könyvtárából (ahol a megfelelő Vagrantfile található):
$ csavargó pusztításA korábban letöltött alapkép továbbra is létezik, ha később új dobozokat szeretne létrehozni. Ha szeretné megtekinteni az összes helyileg mentett képet, futtassa:
$ csavargó dobozlistaMaga a dobozkép törléséhez futtassa:
$ csavargó doboz eltávolításaEzt követően újra le kell töltenie a dobozt, ha erre szükség van.
A Vagrantfile ellenőrzése
Első pillantásra úgy tűnhet, hogy a Vagrantfile-ben nagyon sok lehetőség van. Bár ez nagyon is igaz lehet, érdekes megjegyezni, hogy mennyit érhet el csak egy kis csípéssel.
1. A megosztott mappa
A legtöbb csavargó dobozhoz előre konfigurált megosztott mappák tartoznak. Például, ha megnézi a Vagrantfile-t, amelyet legelső alkalommal hoztunk létre kóbor init észreveszi a bejegyzést, ami egy kommentált sor,
# config.vm.synced_folder "… / adatok", "/ csavargó"A szinkronizált mappához a csavargó doboz és a gazdagép is hozzáférhet. Az első érv utána konfig.vm.synced_folder a mappában lévő útvonalat jelöli a gazdagépen, a második argumentum pedig azt az utat jelöli, ahová a mappa fel lesz szerelve a vendég csavargó mezőbe. Alapértelmezés szerint a mappa, ahol létrehozta a Vagrantfile fájlt, szintén meg van osztva a csavargó dobozával.
Ellenőrizzük ezt úgy, hogy belevágunk a csavargó dobozunkba.
$ csavargó sshItt sorolja fel a fájlrendszereket.
$ df -h
Láthatja, hogy van egy nagy fájlrendszer csavargó rá szerelve /csavargó pálya. Azért olyan nagy, mert a gazdagépem Vagrantfile mappája egy 632 GB-os partíción van, és az ott található mappa is ekkorára nőhet. Mivel ugyanaz a mappa van megosztva a dobozzal, őrületesen sok tárhelyet biztosít.
Ellenőrizheti a tartalmát /csavargó és ugyanazok, mint amiket a gazdagépen lát, nevezetesen egy Vagrantfile és egy másik naplófájl.
Hozzáadhat további megosztott mappákat, ahol megjelenik a megosztott mappák szintaxisát magyarázó megjegyzés.
Mint például,
Ebben az esetben egy megnevezett mappa Megosztott mappa hozzáadódik, ami egy könyvtárral feljebb van, ezért az előtte lévő kettős pont. Ez a mappa fel van szerelve / var / www / html a doboz belsejében. A legtöbb webszerver, például az apache és az nginx, itt keresi a kiszolgálni kívánt webtartalmakat.
Egyszerűen beírhatja a projektfájlokat, a html-t, a css-t és a j-t Megosztott mappa ahol grafikus szövegszerkesztőkkel (például Atom és VSCode) dolgozik rajta a gépen . A csavargó doboz gyártási szintű szerverként fog működni, amely ezeket a fájlokat fel fogja szolgálni.
Most az a kérdés, hogyan látjuk, hogy ezeket a HTML fájlokat weboldalként szolgálják fel. Milyen gazdagépnevet kell beírni a böngészőbe?
2. Hálózatépítés
Alapértelmezés szerint a csavargó néhány hasznos konfigurációt biztosít. A böngészője által a 8080-as porton a localhostnak küldött kérést továbbítja a kóbor doboz 80-as portjára. Tehát, ha van egy webkiszolgáló a kóbor dobozban, amely a 80-as porton (normál http-porton) hallgat, akkor a weblapot a http: // localhost: 8080 webhelyen tekintheti meg
Másrészt érdemes elkerülni az összes localhost port továbbítást, ebben az esetben nyissa meg a Vagrantfile fájlt, és törölje a következő sort:
konfig.vm.hálózat "private_network", ip: "192.168.33.10 "Mentse el a végrehajtott módosításokat, és futtassa azokat kóbor újratöltés a doboz újrakezdéséhez új konfigurációval. Most külön 192 privát IP címet kapott.168.33.10 amelyhez csak a házigazda férhet hozzá. Így most megnyithatja a böngészőt, és megadhatja a http: // 192 parancsot.168.33.10 és láthatja, hogy a weboldalak a http szabványos 80-as portján vannak-e kiszolgálva.
Következtetés
Amint láthatja, a Vagrant segíthet az alkalmazások helyi futtatásában, mivel azok egyidejűleg a termelésben is futnának. Azokkal együtt dolgozhat IDE-k és szövegszerkesztők segítségével, amelyek nem lennének egy tipikus szerveren. A megosztott mappák és a magánhálózatok használata nagyban növeli a Vagrant ezen képességét.
Mondja el nekünk, ha további kérdése van ezzel az oktatóanyaggal kapcsolatban, vagy ha van olyan témája, amelyről azt szeretné, hogy foglalkozzunk.