Kāpēc jāuztraucas?
Uzņēmums Hagricorp, kas atrodas Vagrant, uztur daudzu krātuvi Klaiņojošās kastes kas ir iepriekš konfigurēti virtuālās mašīnas attēli, no kuriem lokāli varat ģenerēt jebkuru skaitu VM. Tas atrisina divas problēmas:
- Tā kā visi sāk ar vienu un to pašu attēlu, izstrādātāji var atbrīvoties Tas darbojas uz mana datora attaisnojums, ja kāda lietotne lieliski darbotos vienā mašīnā, bet citā - ne. Ikviens attīstās dažādās mašīnās, bet darbojas tieši tajā pašā virtuālās mašīnas konfigurācijā.
- Ja nolemjat atbrīvoties no vecajām, jums nav jāveic atkārtota virtuālo mašīnu instalēšana. Vagrant rūpējas par visu jūsu VM instalēšanu un iestatīšanu. Viss, sākot no krātuves un atmiņas piešķiršanas līdz lietotāju izveidei, kas nosaka atļaujas.
Daudzējādā ziņā tas ir līdzīgs Docker attēliem un atrisina līdzīgas problēmas, un galvenā atšķirība ir tā, ka tā izmanto VM, nevis konteinerus, kas to padara par neapšaubāmi, smagāku un lēnāku alternatīvu. Tomēr virtuālajām mašīnām ir savas priekšrocības, piemēram, labāka tīkla kaudze un lielāka elastība attiecībā uz failu sistēmas izvēli utt., Ļaujot Vagrant aizpildīt noteiktu portatīvo VM nišu.
Tātad sāksim!
Priekšnoteikumi
Pirmā un galvenā prasība ir VirtualBox instalēšana, pēc kuras jums vajadzētu instalēt Vagrant. Ja jums jau ir instalēta VirtualBox, vienkārši iegūstiet pēdējo. Instalēšanas process var ievērojami atšķirties atkarībā no tā, kādu operētājsistēmu darbojas jūsu resursdators, tāpēc es aicinu jūs par to uzzināt oficiālajos dokumentos:
- Iegūstiet VirtualBox šeit
- Iegūstiet klaidoni šeit
Turklāt, ja izmantojat sistēmu Windows, jums būs nepieciešams SSH klients, iespējams, vēlēsities instalēt Git Bash, kas lieliski darbojas sistēmā Windows ar noklusējuma instalēšanas opcijām.
1. Klaiņojošās kastes
Vagrant Box ir termins virtuālajām mašīnām, kuras pārvalda Vagrant. Jūs varat iegūt Vagrant kastes, kurās ir tikai operētājsistēma, piemēram, Ubuntu, CentOS utt. Vai arī tie var saturēt iepriekš konfigurētu LAMP skursteni, MEAN skursteni vai citu programmatūras instalāciju, kas varētu atvieglot jūsu izstrādes un testēšanas procesu.
Piemēram, ja rakstāt WordPress motīvu, varat iegūt Vagrant lodziņu, kurā jau darbojas WordPress kodols. Ar šo VM varat koplietot projekta mapi, kur jums ir motīva saturs. Pārbaudiet, vai jaunā tēma darbojas, kā jūs gaidījāt. Kad esat pabeidzis tēmu, vienkārši iznīciniet lodziņu, atstājot tikai tos projekta failus, par kuriem jūs tagad zināt, ka tie reāli darbotos labi.
Šīs rūtiņas varat izpētīt šeit. Mēs sāksim ar vienkāršu Ubuntu 16.04 LTS kaste. Jūs to varat redzēt kā ubuntu / xenial64, ja apmeklējat iepriekš minēto saiti.
Atveriet savu termināli un izveidojiet mapi saviem Vagrant eksperimentiem.
$ mkdir vagrant_box$ cd klaidonis_kaste
Šajā mapē mēs varam inicializēt savu Vagrant vidi, palaižot:
$ klaidonis init
Tas liek a Vagrantfile mapē, kas būtībā ir Ruby skripts, kas apraksta jūsu Vagrant Box konfigurāciju. Lai izmantotu šo failu, jums nav jāzina Rubīns, sintakse ir diezgan vienkārša. Mēs ietversim svarīgākos, ejot līdzi.
Tagad jūs varat palaist komandu "Vagrant up up", un, tā kā jūs to palaižat pirmo reizi, tam būs jālejupielādē virtuālās mašīnas attēls no lietotnes.klaidonis.com. Atkarībā no interneta savienojuma var paiet ilgs laiks, bet pēc lejupielādes - pēc tam klaidonis augšā komandas līdzīgiem klaidonis init ubuntu / xenial64 neaizņems tik ilgi, jo attēls tagad ir lokāli saglabāts jūsu datorā. Pārliecinieties, ka atrodaties vienā direktorijā (klaidonis_kaste), kur Vagrantfile tika ievietots agrāk.
$ klaidonis augšāPēc tam, kad esat pabeidzis, jūs varat ssh kastē kā klaiņojošs lietotājs ar root tiesībām. Vienkārši palaidiet sekojošo:
$ klaidonis sshapsveicu! Jūs tikko pieteicāties savā pirmajā Vagrant Box. Tagad, kad tas ir sākts, iemācīsimies dažas pamata klaiņojošās komandas, pirms mēs iedziļināmies Vagrantfile. Vienkārši ierakstiet izeju un nospiediet
Kopējā klaidoņu komanda
Ja vēlaties apturēt darbības lodziņu, palaidiet komandu:
$ klaidonis apstājasLai restartētu, varat izmantot klaidoņus
Ja vēlaties, varat arī izmantot
$ klaidonis aptur$ klaidonis atsākt
Tie apturēs VM darbību un droši to atjaunos. Ja veicat izmaiņas Vagrantfile un vēlaties, lai izmaiņas tiktu parādītas, izmantojiet komandu:
$ klaidonis pārkrautNeaizmirstiet palaist visu komandu tajā pašā direktorijā, kur atrodas jūsu Vagrantfile. Varat izveidot vairāk klaiņojošu lodziņu, ja citur izveidojat jaunus direktorijus un palaižat klaidonis inic viņos. Jūs tos pārvaldīsit no attiecīgajām mapēm. To pamatā var būt tas pats ubuntu / xenial attēls, kuru mēs ieguvām agrāk, vai arī varat ievietot vairāk attēla.
Lai uzskaitītu visas klaidoņu kastes un to statusu (darbojas vai ir apturētas), izmantojiet komandu:
$ klaidonis globāls statussLai noņemtu klaidoņu lodziņu un visu tā privāto saturu, palaidiet kastes direktoriju (kur atrodas attiecīgais Vagrantfile):
$ klaidonis iznīcinātIepriekš lejupielādētais bāzes attēls joprojām pastāv, ja vēlāk vēlaties izveidot jaunas rūtiņas. Ja vēlaties redzēt visus lokāli saglabātos attēlus, palaidiet:
$ klaidoņu kastīšu sarakstsLai izdzēstu pašu lodziņa attēlu, palaidiet:
$ klaidoņu kaste noņemtPēc tam lodziņš būs jāielādē vēlreiz, ja rodas vajadzība pēc tā.
Vagrantfile pārbaude
No pirmā acu uzmetiena var šķist, ka Vagrantfile iekšpusē ir daudz iespēju. Lai gan tas ļoti labi var būt taisnība, ir interesanti atzīmēt, cik daudz jūs varat paveikt, tikai nedaudz pielabojot.
1. Koplietotā mape
Lielākajai daļai klaidoņu kastes ir iepriekš konfigurētas koplietojamas mapes. Piemēram, ja jūs pārbaudāt Vagrantfile, mēs izveidojām to pirmo reizi, kad skrējām klaidonis inic jūs ievērosiet ierakstu, kas ir komentēta līnija,
# konfigur.vm.synced_folder "… / dati", "/ klaidonis"Sinhronizētajai mapei var piekļūt gan klaidoņu lodziņš, gan resursdatora mašīna. Pirmais arguments pēc konfigurēt.vm.synced_folder norāda ceļu uz mapi resursdatorā un otrais arguments norāda ceļu, kur šī mape tiks uzstādīta viesa klaidoņu lodziņā. Pēc noklusējuma mape, kurā izveidojāt Vagrantfile, tiek kopīgota arī ar klaidoņu lodziņu.
Pārbaudīsim to, iekļaujoties mūsu klaidoņu kastē.
$ klaidonis sshŠeit uzskaitiet failu sistēmas.
$ df -h
Var redzēt, ka pastāv liela failu sistēma klaidonis uzstādīts uz / klaidonis ceļš. Iemesls tam ir tik liels, ka manas resursdatora mašīnas mape Vagrantfile atrodas nodalījumā, kura platums ir 632 GB, un tur esošā mape var pieaugt arī līdz šim izmēram. Tā kā tā ir tā pati mape, kas tiek koplietota ar lodziņu, tā nodrošina nenormālu krātuves daudzumu.
Jūs varat pārbaudīt vietnes saturu / klaidonis un tie ir tie paši, kurus redzat savā resursdatorā, proti, viens Vagrantfile un cits žurnāla fails.
Varat pievienot vēl koplietojamo mapi, kur parādās komentārs, kas izskaidro koplietojamo mapju sintaksi.
Tāpat kā,
Šajā gadījumā mapi ar nosaukumu SharedFolder tiek pievienots, kas ir viens direktorijs virs, tāpēc pirms tā ir dubultpunkts. Šī mape ir uzstādīta / var / www / html kastes iekšpusē. Šeit lielākā daļa tīmekļa serveru, piemēram, apache un nginx, meklē tīmekļa saturu, kuru viņi vēlas apkalpot.
Jūs varat vienkārši ievietot savus projekta failus, html, css un js SharedFolder kur jūs to strādājat savā resursdatorā, izmantojot grafiskos teksta redaktorus, piemēram, Atom un VSCode . Klaiņojošais lodziņš darbosies kā ražošanas klases serveris, kas šos failus apkalpos.
Tagad rodas jautājums, kā mēs redzam, kā šie HTML faili tiek pasniegti kā tīmekļa lapa. Kāds resursdatora nosaukums jāievada pārlūkprogrammā?
2. Tīklošana
Pēc noklusējuma klaidonis nodrošina dažas noderīgas konfigurācijas. Pieprasījums, kuru jūsu pārlūkprogramma nosūtīja vietējam hostam 8080 ostā, tiek pārsūtīts uz 80 portu jūsu klaidoņu kastē. Tātad, ja jūsu klaidoņu lodziņā darbojas tīmekļa serveris, kas klausās 80. portā (standarta http ports), varat redzēt šo vietni, apmeklējot vietni http: // localhost: 8080
No otras puses, iespējams, vēlēsities izvairīties no visas vietējā hosta porta pārsūtīšanas, tādā gadījumā varat atvērt Vagrantfile un komentēt šo rindu:
konfigurēt.vm.tīkls "private_network", ip: "192.168. lpp.33.10 "Saglabājiet veiktās izmaiņas un palaidiet tās klaidonis pārkraut lai restartētu lodziņu ar jaunu konfigurāciju. Tagad tam ir īpaša privātā IP adrese 192.168. lpp.33.10 kurām var piekļūt tikai jūsu resursdators. Tātad tagad varat atvērt pārlūkprogrammu un ievadīt http: // 192.168. lpp.33.10, un jūs varat redzēt, kā tīmekļa lapas tiek apkalpotas http standarta 80. portā.
Secinājums
Kā redzat, Vagrant var palīdzēt palaist jūsu lietojumprogrammas lokāli, jo tās vienlaikus darbotos ražošanā. Jūs varat strādāt ar tām, izmantojot IDE un teksta redaktorus, kuru jums nebūtu tipiskā serverī. Koplietojamo mapju un privāto tīklu izmantošana ievērojami uzlabo šo Vagrant spēju.
Informējiet mūs, ja jums ir vēl kādi jautājumi par šo apmācību vai ja vēlaties uzzināt kādu citu tēmu.