Dockerjeva arhitektura in njene komponente za začetnike

Seznanimo se z Dockerjevo arhitekturo in njenimi bistvenimi komponentami.


Predvidevam, da dobro razumete Dockerja. Če ne, se lahko sklicujete na prejšnji članek.

Razumevanje Dockerja za začetnike – Container Technology

Verjamem, da razumete Dockerjev pomen v DevOpsu. Zdaj za tem fantastičnim orodjem mora obstajati neverjetna, dobro premišljena arhitektura. Kajne?

Preden pa o tem spregovorim, naj predstavim prejšnji in trenutni sistem virtualizacije.

Tradicionalna in nova generacija virtualizacije

Prej smo ustvarjali virtualne stroje in vsak VM je imel OS, ki je zavzel veliko prostora in ga otežil.

Zdaj je v primeru zabojnika dockerjev en sam OS, viri pa so deljeni med zabojniki. Zato je lahek in škornji v nekaj sekundah.

Tradicionalni vs Novi gen

Docker arhitektura

Spodaj je preprost diagram dockerjeve arhitekture.

Docker arhitektura

Naj vam razložim komponente docker arhitekture.

Dockerjev motor

Je osrednji del celotnega sistema Docker. Docker Engine je aplikacija, ki sledi arhitektura odjemalec-strežnik. Nameščen je na gostiteljskem stroju. V Docker Engineu so tri komponente:

  • Strežnik: Imenuje se docker demon dockerd. Ustvari in upravlja s slikami dockerja. Zabojniki, omrežja itd.
  • API za počitek: Uporablja se za poučevanje docker demona, kaj naj naredi.
  • Vmesnik ukazne vrstice (CLI): To je odjemalec, ki se uporablja za vnašanje ukazov dockerja.

Docker odjemalec

Uporabniki Dockerja lahko z odjemalcem komunicirajo prek stranke. Ko se kateri koli ukaz docker zažene, jih odjemalec pošlje v dockerd demon, ki jih izvaja. Docker API uporabljajo Dockerjevi ukazi. Odjemalec Docker lahko komunicira z več kot enim demonom.

Registri dockerjev

Na njem so shranjene slike Dockerja. Lahko je javni register dockerjev ali zasebni register dockerjev. Docker Hub je privzeto mesto slik dockerjev, javni register trgovin. Prav tako lahko ustvarite in zaženete svoj zasebni register.

Ko izvajate ukaze za vlečenje dockerja ali docker, se zahtevana slika dockerja potegne iz konfiguriranega registra. Ko izvajate ukazni ukaz docker, se slika dockerja shrani v konfigurirani register.

Docker predmeti

Ko delate z Dockerjem, uporabljate slike, posode, zvezke, omrežja; vse to so Dockerjevi predmeti.

Slike

Slike dockerja so predloge samo za branje z navodili za ustvarjanje docker posode. Dockerjevo sliko lahko izvlečete iz Dockerjevega vozlišča in jo uporabite tako, kot je, ali pa lahko osnovni sliki dodate dodatna navodila in ustvarite novo in spremenjeno sliko dockerja. Svoje dockerjeve slike lahko ustvarite tudi s pomočjo dockerfile. Ustvarite dockerfile z vsemi navodili za ustvarjanje vsebnika in ga zaženite; ustvaril bo vašo podobo dockerja po meri.

Slika dockerja ima osnovni sloj, ki je samo za branje, zgornji sloj pa je lahko zapisan. Ko uredite dockerfile in ga obnovite, se v zgornjem sloju na novo prigradi le spremenjeni del.

Posode

Ko zaženete sliko dockerja, ustvari posodo za docker. Vse aplikacije in njihovo okolje delujejo znotraj tega vsebnika. Dockerjev API ali CLI lahko uporabite za zagon, ustavljanje, brisanje vsebnika za docker.

Spodaj je vzorec ukaza za zagon vsebnika docker ubuntu:

docker run -i -t ubuntu / bin / bash

Obseg

Obstojni podatki, ki jih ustvari docker in uporabljajo Docker posode, so shranjeni v zvezkih. Docker jih v celoti upravlja prek docker CLI ali Docker API. Količine delujejo tako v Windows kot Linux posodah. Namesto, da bi podatke shranili v plastjo, ki jo je mogoče zapisati, je vedno dobra možnost, da uporabite količine. Vsebina vsebine obstaja zunaj življenjskega cikla vsebnika, zato uporaba prostornine ne poveča velikosti vsebnika.

Za zaboj s prostornino lahko uporabite zastavico -v ali –mount. V tem vzorčnem ukazu uporabljate prostornino geekvolume z vsebnikom geekflare.

docker run -d –ime geekflare -v geekvolume: / app nginx: najnovejše

Omrežja

Dockerjevo omrežje je prehod, skozi katerega komunicirajo vsi izolirani zabojniki. V dockerju je v glavnem pet omrežnih gonilnikov:

  1. Most: To je privzeti omrežni gonilnik za vsebnik. To omrežje uporabljate, ko se vaša aplikacija izvaja na samostojnih zabojnikih, to je več vsebnikov, ki komunicirajo z istim gostiteljem dockerja.
  2. Gostitelj: Ta gonilnik odstrani omrežno izolacijo med docker posodami in gostiteljem dockerja. Uporablja se, kadar ne potrebujete nobene izolacije omrežja med gostiteljem in vsebnikom.
  3. Prekrivanje: Ta mreža omogoča medsebojno komuniciranje rojev. Uporablja se, ko se zabojniki izvajajo na različnih Dockerjevih gostiteljih ali ko rojske storitve tvorijo več aplikacij.
  4. Noben: Ta gonilnik onemogoči vsa omrežja.
  5. macvlan: Ta gonilnik vsebnikom dodeli mac naslov, tako da so videti kot fizične naprave. Promet se usmeri med zabojnike prek njihovih mac naslovov. To omrežje se uporablja, če želite, da na primer vsebniki izgledajo kot fizična naprava, medtem ko selite nastavitev VM.

Zaključek

Upam, da vam to predstavi arhitekturo Dockerja in njene bistvene sestavine. Pojdite po Dockerju, če želite izvedeti več, in če vas zanima sproten trening, potem to preverite Tečaj docker mojstra.

Oznake:

  • Docker

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map