Klaidonis

Klaiņojoša apmācība

Klaiņojoša apmācība
Vagrant ir rīks virtuālo mašīnu pārvaldīšanai, izmantojot vienkāršu komandrindas saskarni. Ir paredzēts, ka viss process ir kārtīgs un tīrs, bez galvenās instalācijas piesārņošanas ar tonnu konfigurācijas failu.Vagrant izmanto VirtualBox aizmugurē, kur darbojas virtuālās mašīnas, un, atverot VirtualBox pēc dažu šo Vagrant Boxu instalēšanas, jūs redzēsiet, ka ir jauni VM, kuru iepriekš nebija. Vagrant box ir tikai vēl viens virtuālo mašīnu termins, ko īpaši apstrādā šī lietderība, par kuru mēs runājam.

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:

  1. 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ā.
  2. 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:

  1. Iegūstiet VirtualBox šeit
  2. 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 ssh

apsveicu! 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 lai izietu no VM termināļa. Klaiņotāju kaste joprojām darbosies fonā.

Kopējā klaidoņu komanda

Ja vēlaties apturēt darbības lodziņu, palaidiet komandu:

$ klaidonis apstājas

Lai 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ārkraut

Neaizmirstiet 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 statuss

Lai noņemtu klaidoņu lodziņu un visu tā privāto saturu, palaidiet kastes direktoriju (kur atrodas attiecīgais Vagrantfile):

$ klaidonis iznīcināt

Iepriekš 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 saraksts

Lai izdzēstu pašu lodziņa attēlu, palaidiet:

$ klaidoņu kaste noņemt

Pē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.

Kā izmantot AutoKey, lai automatizētu Linux spēles
AutoKey ir darbvirsmas automatizācijas lietderība operētājsistēmām Linux un X11, kas ieprogrammēta Python 3, GTK un Qt. Izmantojot skriptu un MACRO fu...
Kā parādīt FPS skaitītāju Linux spēlēs
Linux spēles ieguva lielu impulsu, kad Valve 2012. gadā paziņoja par Linux atbalstu Steam klientam un viņu spēlēm. Kopš tā laika daudzas AAA un indie ...
Kā lejupielādēt un atskaņot Sid Meier Civilization VI operētājsistēmā Linux
Ievads spēlē Civilization 6 ir mūsdienīga klasiskā koncepcija, kas ieviesta Age of Empires spēļu sērijā. Ideja bija diezgan vienkārša; jūs sāktu pašā ...