Docker-arkitektur och dess komponenter för nybörjare

Låt oss bekanta oss med Docker-arkitekturen och dess väsentliga komponenter.


Jag antar att du har en grundläggande förståelse för Docker. Om inte, kan du hänvisa till föregående artikel.

Förstå Docker för nybörjare – Container Technology

Jag tror att du förstår Docker-vikten i DevOps. Nu bakom detta fantastiska verktyg måste det finnas en fantastisk, väl tänkt arkitektur. Är det inte?

Men innan jag pratar om det, låt mig visa upp det tidigare och nuvarande virtualiseringssystemet.

Traditionell kontra ny generation virtualisering

Tidigare skapade vi virtuella maskiner, och varje VM hade ett operativsystem som tog mycket utrymme och gjorde det tungt.

I fallet med dockarcontainer har du ett enda operativsystem och resurserna delas mellan behållarna. Därför är det lätt och stövlar på några sekunder.

Traditionellt kontra nytt allm

Dockerarkitektur

Nedan visas det enkla diagrammet av en Docker-arkitektur.

Dockerarkitektur

Låt mig förklara komponenterna i en dockningsarkitektur.

Docker Engine

Det är kärndelen i hela Docker-systemet. Docker Engine är en applikation som följer klient-serverarkitektur. Det är installerat på värdmaskinen. Det finns tre komponenter i Docker Engine:

  • server: Det är dockningsdemonet som heter dockerd. Det kan skapa och hantera dockningsbilder. Behållare, nätverk osv.
  • Rest API: Det används för att instruera docker-demonen vad man ska göra.
  • Kommandoradsgränssnitt (CLI): Det är en klient som används för att ange docker-kommandon.

Docker-klient

Docker-användare kan interagera med Docker via en klient. När någon dockarkommando körs skickar klienten dem till dockerdemon, som utför dem. Docker API används av Docker-kommandon. Docker-klienten kan kommunicera med mer än en daemon.

Docker-register

Det är platsen där Docker-bilderna lagras. Det kan vara ett offentligt docker-register eller ett privat docker-register. Docker Hub är standardplatsen för dockarbilder, dess butiks offentliga register. Du kan också skapa och köra ditt eget privata register.

När du utför docker pull- eller docker-körkommandon dras den nödvändiga docker-bilden från det konfigurerade registret. När du utför docker push-kommando lagras dockningsbilden i det konfigurerade registret.

Dockerobjekt

När du arbetar med Docker använder du bilder, containrar, volymer, nätverk; alla dessa är Docker-objekt.

Bilder

Docker-bilder är skrivskyddade mallar med instruktioner för att skapa en dockningsbehållare. Docker-bilden kan dras från ett Docker-nav och användas som den är, eller så kan du lägga till ytterligare instruktioner till basbilden och skapa en ny och modifierad dockarbild. Du kan skapa dina egna dockningsbilder med en dockerfil. Skapa en dockningsfil med alla instruktioner för att skapa en behållare och köra den; det skapar din anpassade dockningsbild.

Docker-bilden har ett basskikt som är skrivskyddat och det övre lagret kan skrivas. När du redigerar en dockningsfil och bygger om den byggs bara den modifierade delen i det översta lagret.

behållare

När du har kört en dockningsbild skapar det en dockningsbehållare. Alla applikationer och deras miljö körs inuti den här behållaren. Du kan använda Docker API eller CLI för att starta, stoppa, ta bort en dockningsbehållare.

Nedan är ett exempelkommando för att köra en ubuntu-dockercontainer:

docker-run -i -t ubuntu / bin / bash

volymerna

De bestående data som genereras av dockaren och används av Docker-behållare lagras i volymer. De hanteras helt av docker via docker CLI eller Docker API. Volymerna fungerar på både Windows- och Linux-containrar. I stället för att kvarstå data i en behållares skrivbara lager är det alltid ett bra alternativ att använda volymer för det. Volyminnehållet finns utanför en containers livscykel, så användningen av volym ökar inte behållarens storlek.

Du kan använda -v eller –montera flaggan för att starta en behållare med en volym. I detta provkommando använder du geekvolume volume med geekflare container.

docker run -d – name geekflare -v geekvolume: / app nginx: senaste

Networks

Docker-nätverk är en passage genom vilken alla isolerade containrar kommunicerar. Det finns huvudsakligen fem nätverksdrivrutiner i dockaren:

  1. Bro: Det är standardnätverksdrivrutinen för en container. Du använder det här nätverket när din applikation körs på fristående containrar, dvs. flera containrar som kommunicerar med samma dockningsvärd.
  2. Värd: Den här drivrutinen tar bort nätverksisolationen mellan dockningscontainrar och dockningsvärd. Det används när du inte behöver någon nätverksisolering mellan värd och container.
  3. Täcka över: Detta nätverk gör det möjligt för svärmtjänster att kommunicera med varandra. Det används när containrarna körs på olika Docker-värdar eller när svärmtjänster bildas av flera applikationer.
  4. Ingen: Den här drivrutinen inaktiverar allt nätverk.
  5. macvlan: Den här drivrutinen tilldelar Mac-adress till containrar för att få dem att se ut som fysiska enheter. Trafiken dirigeras mellan containrar via deras Mac-adresser. Detta nätverk används när du vill att behållarna ska se ut som en fysisk enhet, till exempel vid migrering av en VM-installation.

Slutsats

Jag hoppas att detta ger dig en uppfattning om Docker-arkitekturen och dess väsentliga komponenter. Navigera runt Docker för att lära dig mer och om du är intresserad av att få praktisk träning, kolla in detta Docker Mastery-kurs.

TAGGAR:

  • Hamnarbetare

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Комментариев нет, будьте первым кто его оставит

    Комментарии закрыты.

    Adblock
    detector