Docker Architecture și componentele sale pentru începători

Să ne familiarizăm cu arhitectura Docker și componentele sale esențiale.


Presupun că ai o înțelegere de bază despre Docker. Dacă nu, vă puteți referi la articolul precedent.

Înțelegerea Docker pentru începători – Tehnologia containerelor

Cred că înțelegeți importanța Docker în DevOps. Acum, în spatele acestui instrument fantastic, trebuie să existe o arhitectură uimitoare, bine gândită. Nu-i așa?

Dar înainte să vorbesc despre asta, permiteți-mi să prezint sistemul de virtualizare anterior și actual.

Virtualizare tradițională și nouă generație

Mai devreme, obișnuiam să creăm mașini virtuale și fiecare mașină virtuală avea un sistem de operare care a ocupat mult spațiu și l-a îngreunat.

Acum, în cazul containerului docker, aveți un singur sistem de operare, iar resursele sunt împărțite între containere. Prin urmare, este ușor și cizme în câteva secunde.

Tradițional vs Nou Gen

Docker Architecture

Mai jos este diagrama simplă a unei arhitecturi Docker.

Docker Architecture

Permiteți-mi să vă explic componentele unei arhitecturi docker.

Docker Engine

Este partea de bază a întregului sistem Docker. Docker Engine este o aplicație care urmează arhitectura client-server. Este instalat pe mașina gazdă. Există trei componente în motorul Docker:

  • Server: Este numitul daemon docker dockerd. Poate crea și gestiona imagini docker. Containere, rețele etc.
  • API-ul de odihnă: Este folosit pentru a instrui daemonul docker ce să facă.
  • Interfața liniei de comandă (CLI): Este un client care este folosit pentru a introduce comenzile docker.

Clientul Docker

Utilizatorii Docker pot interacționa cu Docker printr-un client. Când se execută orice comandă docker, clientul le trimite la daemon dockerd, care le efectuează. API-ul Docker este utilizat de comenzile Docker. Clientul Docker poate comunica cu mai mulți daemon.

Registrele de andocare

Este locația în care sunt stocate imaginile Docker. Poate fi un registru public de docker sau un registru privat al docker-ului. Docker Hub este locul implicit al imaginilor docker, registrul public al magazinelor sale. De asemenea, puteți crea și rula propriul dvs. registru privat.

Când executați comenzi de docker pull sau docker run, imaginea docker necesară este extrasă din registrul configurat. Când executați comanda push docker, imaginea docker este stocată în registrul configurat.

Obiecte de andocare

Când lucrați cu Docker, utilizați imagini, containere, volume, rețele; toate acestea sunt obiecte Docker.

Imagini

Imaginile Docker sunt șabloane de citire numai cu instrucțiuni pentru a crea un container pentru docker. Imaginea Docker poate fi extrasă dintr-un hub Docker și folosită așa cum este, sau puteți adăuga instrucțiuni suplimentare imaginii de bază și puteți crea o nouă imagine modificată. Puteți să vă creați propriile imagini de docker folosind și un dockerfile. Creați un dockerfile cu toate instrucțiunile pentru a crea un container și rulați-l; acesta va crea imaginea dvs. personalizată de docker.

Imaginea Docker are un strat de bază care este numai de citire, iar stratul superior poate fi scris. Când editați un fișier și îl reconstruiți, numai partea modificată este reconstruită în stratul superior.

Containere

După ce executați o imagine docker, creează un container pentru docker. Toate aplicațiile și mediul lor rulează în interiorul acestui container. Puteți utiliza Docker API sau CLI pentru a porni, opri, șterge un container docker.

Mai jos este o comandă de exemplu pentru a rula un container docker ubuntu:

docker run -i -t ubuntu / bin / bash

volumele

Datele persistente generate de docker și utilizate de containerele Docker sunt stocate în Volume. Acestea sunt gestionate complet de către docker prin Docker CLI sau Docker API. Volumele funcționează atât pe containerele Windows, cât și pe cele Linux. În loc să persiste datele din stratul scris al unui container, este întotdeauna o opțiune bună să folosiți volume pentru acesta. Conținutul volumului există în afara ciclului de viață al unui container, astfel încât utilizarea volumului nu crește dimensiunea unui container.

Puteți utiliza indicatorul -v sau –mount pentru a porni un container cu un volum. În această comandă de exemplu, utilizați volumul geekvolume cu containerul geekflare.

docker run -d – nume geekflare -v geekvolume: / app nginx: recent

Rețele

Rețeaua Docker este un pasaj prin care comunică tot containerul izolat. Există în principal cinci drivere de rețea în docker:

  1. Pod: Este driverul de rețea implicit pentru un container. Utilizați această rețea atunci când aplicația rulează pe containere autonome, adică mai multe containere care comunică cu aceeași gazdă.
  2. Gazdă: Acest driver elimină izolarea rețelei dintre containerele de andocare și gazda docker-ului. Este utilizat atunci când nu aveți nevoie de nicio izolare de rețea între gazdă și container.
  3. Acoperire: Această rețea permite serviciilor swarm să comunice între ei. Este utilizat atunci când containerele rulează pe diferite gazde Docker sau când serviciile de roi sunt formate din mai multe aplicații.
  4. Nici unul: Acest driver dezactivează toate rețelele.
  5. macvlan: Acest driver alocă adresă mac contoarelor pentru a le face să pară dispozitive fizice. Traficul este dirijat între containere prin adresele lor mac. Această rețea este utilizată atunci când doriți ca containerele să arate ca un dispozitiv fizic, de exemplu, în timpul migrării unei configurații VM.

Concluzie

Sper că asta vă oferă o idee despre arhitectura Docker și componentele sale esențiale. Navigați în jurul Docker pentru a afla mai multe și dacă sunteți interesat să vă pregătiți manual, atunci verificați acest lucru Curs Docker Mastery.

ETICHETE:

  • Docher

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