Dockerjeva vadnica - Uvod v Docker in vsebništvo



V tej vadnici za Docker boste razumeli potrebo po Dockerju in dobili uvod v Docker. To je prvi blog v Dockerjevi vadnici

Upam, da niste zamudili serije prejšnjih blogov o vajah za DevOps. Pojdite skozi tukaj.Nezadržen trend zabojnikov Docker narašča in organizacije iščejo strokovnjake, ki jih imajo .Zdaj vas bomo popeljali skozi Uvod v Docker.

Dockerjeva vadnica

Ta blog o Dockerjevih vajah vam bo predstavil konceptualno in praktično izpostavljenost Dockerju - novi tehnologiji kontejnerjev.





V tem blogu se bomo osredotočili na spodnje teme:

privzeta vrednost char v javi
  • Kaj je virtualizacija?
  • Kaj je zabojništvo
  • Prednosti vsebnikov pred virtualizacijo
  • Uvod v Docker
  • Prednosti Dockerja
  • Virtualizacija vs kontejnerizacija
  • Namestitev Dockerja
  • Dockerfile, Docker Image & Docker Container
  • Kaj je Docker Hub?
  • Docker arhitektura
  • Docker Compose

Docker postaja vse bolj priljubljen in njegova uporaba se širi kot požar. Razlog za vse večjo priljubljenost Dockerja je obseg, v katerem ga je mogoče uporabljati v informacijski organizaciji. Zelo malo orodij je na voljo tako funkcionalno, da je koristno tako za razvijalce kot tudi za sistemske skrbnike. Docker je eno takšnih orodij, ki resnično izpolnjuje svoje obljube Build , Ladja in Teči .



Preprosto povedano, Docker je programska platforma za kontejnerstvo, kar pomeni, da lahko zgradite svojo aplikacijo, jo zapakirate skupaj z odvisnostmi v vsebnik in nato te vsebnike enostavno pošljete, da se lahko izvajajo na drugih strojih.

Na primer: Oglejmo si aplikacijo, ki temelji na Linuxu in je bila napisana tako v Ruby kot v Pythonu. Ta aplikacija zahteva določeno različico linuxa, Rubyja in Pythona. Da bi se izognili kakršnim koli navzkrižjem različic na koncu uporabnika, lahko ustvarite zabojnik linux docker z zahtevanimi različicami Ruby in Python, nameščenimi skupaj z aplikacijo. Zdaj lahko končni uporabniki preprosto uporabljajo aplikacijo tako, da zaženejo ta vsebnik, ne da bi se skrbeli glede odvisnosti ali konfliktov različic.

Ti zabojniki uporabljajo Containerization, kar lahko štejemo za razvito različico virtualizacije. Isto nalogo je mogoče doseči tudi z navideznimi stroji, vendar to ni zelo učinkovito.



Na tej točki na splošno dobim vprašanje, torej kakšna je razlika med virtualizacijo in kontejnerizacijo? Ta dva izraza sta si zelo podobna. Torej, najprej vam povem, kaj je virtualizacija?

Kaj je virtualizacija?

Virtualizacija je tehnika uvoza gostujočega operacijskega sistema na vrh operacijskega sistema Host. Ta tehnika je bila na začetku razkritje, ker je razvijalcem omogočala zagon več operacijskih sistemov v različnih navideznih strojih, ki se izvajajo na istem gostitelju. To je odpravilo potrebo po dodatnih strojnih virih. Prednosti navideznih strojev ali virtualizacije so:

  • Na isti napravi lahko deluje več operacijskih sistemov
  • Vzdrževanje in obnova sta bila v primeru okvare enostavna
  • Skupni stroški lastništva so bili tudi manjši zaradi zmanjšane potrebe po infrastrukturi

Arhitektura navideznih strojev - Dockerjeva vadnica o uvodu v Docker - Edureka

V diagramu na desni lahko vidite gostiteljski operacijski sistem, v katerem delujejo 3 gostujoči operacijski sistemi, ki niso nič drugega kot navidezni stroji.

Ker veste, da nič ni popolno, ima virtualizacija tudi nekaj pomanjkljivosti. Zagon več navideznih strojev v istem gostiteljskem operacijskem sistemu vodi do poslabšanja zmogljivosti. To je posledica gostujočega OS, ki se izvaja na vrhu gostiteljskega OS, ki bo imel svoje jedro in nabor knjižnic ter odvisnosti. To zavzame velik del sistemskih virov, to je trdi disk, procesor in še posebej RAM.

Druga težava navideznih strojev, ki uporabljajo virtualizacijo, je, da traja skoraj minuto, da se zažene.To je zelo pomembno v primeru aplikacij v realnem času.

Sledijo slabosti virtualizacije:

  • Zagon več navideznih strojev vodi do nestabilne zmogljivosti
  • Hipervizorji niso tako učinkoviti kot gostiteljski operacijski sistem
  • Postopek zagona je dolg in zahteva čas

Te pomanjkljivosti so privedle do pojava nove tehnike, imenovane kontejnerizacija. Zdaj pa naj vam povem o zabojništvu.

Kaj je zabojništvo?

Kontejnerizacija je tehnika dvigovanja virtualizacije na raven operacijskega sistema. Medtem ko virtualizacija prinaša abstrakcijo strojni opremi, Containerization prinaša abstrakcijo operacijskemu sistemu. Upoštevajte, da je vsebništvo tudi vrsta virtualizacije. Kontejnerizacija pa je učinkovitejša, ker tu ni gostujočega OS in uporablja gostiteljski operacijski sistem, deli ustrezne knjižnice in vire po potrebi in za razliko od navideznih strojev. Binarne datoteke in knjižnice vsebnikov, specifične za aplikacije, se izvajajo v gostiteljskem jedru, kar omogoča zelo hitro obdelavo in izvajanje. Tudi zagon posode traja le delček sekunde. Ker si vsi vsebniki delijo, gostijo operacijski sistem in imajo samo binarne datoteke in knjižnice, povezane z aplikacijami. So lahki in hitrejši od navideznih strojev.

Prednosti vsebnikov pred virtualizacijo:

  • Vsebniki v istem jedru OS so lažji in manjši
  • Boljša izraba virov v primerjavi z VM
  • Postopek zagona je kratek in traja nekaj sekund

Na diagramu na desni lahko vidite, da obstaja gostiteljski operacijski sistem, ki si ga delijo vsi vsebniki. Vsebniki vsebujejo samo knjižnice, specifične za aplikacije, ki so ločene za vsak vsebnik in so hitrejše in ne zapravljajo nobenih virov.

Vse te vsebnike obravnava plast kontejnerizacije, ki ni izvorna za gostiteljski operacijski sistem. Zato je potrebna programska oprema, ki vam lahko omogoča ustvarjanje in zagon vsebnikov v gostiteljskem operacijskem sistemu.

Oglejte si ta vadbeni videoposnetek o Dockerju, v katerem boste podrobno razumeli Docker.

Dockerjeva vadnica za začetnike | Kaj je Docker? | Orodja DevOps | Edureka

Zdaj pa naj vas popeljem skozi uvod v Docker.

Dockerjeva vadnica - Uvod v Docker

Docker je platforma za kontejnerizacijo, ki vašo aplikacijo in vse njene odvisnosti pakira skupaj v obliki vsebnikov, da zagotovi nemoteno delovanje vaše aplikacije v katerem koli okolju.

kaj je ključna napaka

Kot lahko vidite na diagramu na desni, se bo vsaka aplikacija izvajala v ločenem vsebniku in bo imela svoj nabor knjižnic in odvisnosti. To tudi zagotavlja, da obstaja izolacija na ravni procesa, kar pomeni, da je vsaka aplikacija neodvisna od drugih aplikacij, kar daje razvijalcem gotovost, da lahko gradijo aplikacije, ki ne bodo motile druga druge.

Kot razvijalec lahko sestavim vsebnik, v katerem so nameščene različne aplikacije, in ga predam svoji skupini za preverjanje kakovosti, ki bo vsebnik morala zagnati samo za kopiranje okolja za razvijalce.

Prednosti Dockerja

Zdaj skupini QA ni treba namestiti vse odvisne programske opreme in aplikacij za testiranje kode, kar jim pomaga prihraniti veliko časa in energije. To tudi zagotavlja, da je delovno okolje skladno pri vseh posameznikih, ki sodelujejo v procesu, od razvoja do uvajanja. Število sistemov je mogoče enostavno povečati in kodo nanje enostavno namestiti.

Virtualizacija vs kontejnerizacija

Z virtualizacijo in vsebino lahko v gostiteljskem računalniku zaženete več operacijskih sistemov.

Virtualizacija se ukvarja z ustvarjanjem številnih operacijskih sistemov v enem gostiteljskem računalniku. Po drugi strani pa bo vsebnost ustvarila več vsebnikov za vsako vrsto aplikacije, kot je potrebno.

Slika: Kaj je analitika velikih podatkov - virtualizacija v primerjavi s kontejnerizacijo

Kot je razvidno iz slike, je glavna razlika v tem, da je v virtualizaciji več gostujočih operacijskih sistemov, ki pri vsebništvu niso na voljo. Najboljši del vsebnikov je, da je v primerjavi s težko virtualizacijo zelo lahek.

Zdaj pa namestite Docker.

Namestite Docker:

Docker bom namestil v svoj računalnik Ubuntu 17.10. Sledijo koraki za namestitev Dockerja:

  1. Namestite potrebne pakete
  2. Nastavite repozitorij Docker
  3. Namestite Docker na Ubuntu

1. Namestite potrebne pakete:

V vašem sistemu obstajajo določeni paketi za namestitev Dockerja. Za namestitev teh paketov izvedite spodnji ukaz.

sudo apt-get namestite curl apt-transport-https ca-certifikati programske lastnosti-skupne

2. Nastavitev skladišča Docker:

Zdaj uvozite uradni ključ GPG Dockers, da preverite podpis paketov, preden jih namestite z apt-get. Zaženite spodnji ukaz na terminalu:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add

Zdaj dodajte repozitorij Docker v vaš sistem Ubuntu, ki vsebuje Dockerjeve pakete, vključno z njegovimi odvisnostmi, in za to izvedite spodnji ukaz:

sudo add-apt-repository 'deb [arch = amd64] https://download.docker.com/linux/ubuntu $ (lsb_release -cs) stabilen'

3. Namestite Docker v Ubuntu:

Zdaj morate nadgraditi indeks apt in namestiti izdajo skupnosti Docker, za to pa izvesti spodnje ukaze:

sudo apt-get posodobitev sudo apt-get namestitev docker-ce

Čestitamo! Uspešno ste namestili Docker. Oglejte si tudi nekaj najpogosteje uporabljenih Dockerjevi ukazi .

Zdaj pa si oglejmo nekaj pomembnih Dockerjevih konceptov.

Dockerfile, Dockerjeva slika in Dockerjev vsebnik:

  1. Slika Dockerja se ustvari z zaporedjem ukazov, zapisanih v datoteki, imenovani Dockerfile.
  2. Ko se ta datoteka Docker izvrši z ukazom docker, se prikaže slika Docker z imenom.
  3. Ko se ta slika izvrši z ukazom »docker run«, bo sama zagnala katero koli aplikacijo ali storitev, ki jo mora zagnati ob njenem izvajanju.

Docker Hub:

Docker Hub je kot GitHub za Docker Images. V bistvu gre za register v oblaku, kjer lahko najdete Dockerjeve slike, ki jih naložijo različne skupnosti, prav tako lahko razvijete svojo sliko in naložite na Docker Hub, najprej pa morate ustvariti račun na DockerHubu.

prenos datotek v primerek ec2 linux

Dockerjeva arhitektura:

Sestavljen je iz Docker Engine, ki je aplikacija odjemalec-strežnik s tremi glavnimi komponentami:

  1. Strežnik, ki je vrsta dolgotrajnega programa, imenovanega daemon process (ukaz docker).
  2. API REST, ki določa vmesnike, ki jih lahko programi uporabljajo za pogovor z demonom in navodila, kaj naj stori.
  3. Odjemalec vmesnika ukazne vrstice (CLI) (ukaz docker).
  4. CLI uporablja Docker REST API za nadzor ali interakcijo z demonom Dockerja s skriptiranjem ali neposrednimi ukazi CLI. Številne druge aplikacije Docker uporabljajo osnovni API in CLI.

Če želite prebrati več o tem, si oglejte ta spletni dnevnik .

Končno bom v tem blogu o Dockerjevih vajah govoril o Docker Compose.

Docker Compose:

Docker Compose se v osnovi uporablja za zagon več Dockerjevih zabojnikov kot en strežnik. Naj vam dam primer:

Recimo, če imam aplikacijo, ki zahteva WordPress, Maria DB in PHP MyAdmin. Lahko ustvarim eno datoteko, ki bi oba vsebnika zagnala kot storitev, ne da bi jih bilo treba posebej zagnati. Zelo koristno je, če imate arhitekturo mikro storitev.

Oglejte si moj blog na Docker posoda razumeti, kako ga praktično izvesti.

Ta spletni dnevnik lahko preberete tudi o tem, kako lahko z Docker Compose vsebujete srednjo aplikacijo sklada.

S tem smo zaključili prvi spletni dnevnik Docker Tutorial o Uvodu v Docker in kontejnerizacijo.

Pojdite skozi naš naslednji spletni dnevnik o Dockerju:

Zdaj, ko ste razumeli, kaj je DevOps, si oglejte našo Edureka, zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, ki se širijo po vsem svetu. Tečaj Edureka DevOps Certification Training pomaga učencem pridobiti znanje o različnih postopkih in orodjih DevOps, kot so Lutka, Jenkins, Nagios, Ansible, Chef, Saltstack in GIT za avtomatizacijo več korakov v SDLC.

Imate vprašanje za nas? Prosimo, omenite to v oddelku za komentarje in se vam bomo javili.