Docker-Architektur und ihre Komponenten für Anfänger

Machen Sie sich mit der Docker-Architektur und ihren wesentlichen Komponenten vertraut.


Ich gehe davon aus, dass Sie ein grundlegendes Verständnis von Docker haben. Wenn nicht, können Sie auf den vorherigen Artikel verweisen.

Docker für Anfänger verstehen – die Containertechnologie

Ich glaube, Sie verstehen die Bedeutung von Docker in DevOps. Jetzt muss hinter diesem fantastischen Werkzeug eine erstaunliche, gut durchdachte Architektur stehen. Ist es nicht so??

Bevor ich jedoch darüber spreche, möchte ich das vorherige und aktuelle Virtualisierungssystem vorstellen.

Traditionelle Virtualisierung im Vergleich zur Virtualisierung der neuen Generation

Früher haben wir virtuelle Maschinen erstellt, und jede VM hatte ein Betriebssystem, das viel Platz beanspruchte und es schwer machte.

Im Fall des Docker-Containers haben Sie jetzt ein einziges Betriebssystem, und die Ressourcen werden von den Containern gemeinsam genutzt. Daher ist es leicht und bootet in Sekunden.

Traditionell gegen New Gen.

Docker-Architektur

Unten sehen Sie das einfache Diagramm einer Docker-Architektur.

Docker-Architektur

Lassen Sie mich Ihnen die Komponenten einer Docker-Architektur erklären.

Docker Engine

Es ist der Kern des gesamten Docker-Systems. Docker Engine ist eine folgende Anwendung Client-Server-Architektur. Es ist auf dem Host-Computer installiert. Die Docker Engine besteht aus drei Komponenten:

  • Server: Es heißt der Docker-Daemon Dockerd. Es kann Docker-Images erstellen und verwalten. Container, Netzwerke usw..
  • Rest API: Es wird verwendet, um den Docker-Daemon anzuweisen, was zu tun ist.
  • Befehlszeilenschnittstelle (CLI): Es ist ein Client, mit dem Docker-Befehle eingegeben werden.

Docker Client

Docker-Benutzer können über einen Client mit Docker interagieren. Wenn Docker-Befehle ausgeführt werden, sendet der Client sie an den Dockerd-Daemon, der sie ausführt. Die Docker-API wird von Docker-Befehlen verwendet. Der Docker-Client kann mit mehr als einem Daemon kommunizieren.

Docker-Register

Dies ist der Ort, an dem die Docker-Bilder gespeichert werden. Dies kann eine öffentliche Docker-Registrierung oder eine private Docker-Registrierung sein. Docker Hub ist der Standardort für Docker-Images, die öffentliche Registrierung der Stores. Sie können auch eine eigene private Registrierung erstellen und ausführen.

Wenn Sie Docker Pull- oder Docker Run-Befehle ausführen, wird das erforderliche Docker-Image aus der konfigurierten Registrierung abgerufen. Wenn Sie den Docker-Push-Befehl ausführen, wird das Docker-Image in der konfigurierten Registrierung gespeichert.

Docker-Objekte

Wenn Sie mit Docker arbeiten, verwenden Sie Images, Container, Volumes und Netzwerke. All dies sind Docker-Objekte.

Bilder

Docker-Images sind schreibgeschützte Vorlagen mit Anweisungen zum Erstellen eines Docker-Containers. Das Docker-Image kann von einem Docker-Hub abgerufen und unverändert verwendet werden. Sie können dem Basis-Image auch zusätzliche Anweisungen hinzufügen und ein neues und geändertes Docker-Image erstellen. Sie können Ihre eigenen Docker-Images auch mit einer Docker-Datei erstellen. Erstellen Sie eine Docker-Datei mit allen Anweisungen zum Erstellen und Ausführen eines Containers. Es wird Ihr benutzerdefiniertes Docker-Image erstellt.

Das Docker-Image verfügt über eine schreibgeschützte Basisebene, und die oberste Ebene kann geschrieben werden. Wenn Sie eine Docker-Datei bearbeiten und neu erstellen, wird nur der geänderte Teil in der obersten Ebene neu erstellt.

Behälter

Nachdem Sie ein Docker-Image ausgeführt haben, wird ein Docker-Container erstellt. Alle Anwendungen und ihre Umgebung werden in diesem Container ausgeführt. Sie können die Docker-API oder CLI verwenden, um einen Docker-Container zu starten, zu stoppen und zu löschen.

Unten finden Sie einen Beispielbefehl zum Ausführen eines Ubuntu-Docker-Containers:

Docker führen -i -t ubuntu / bin / bash aus

Bände

Die vom Docker generierten und von Docker-Containern verwendeten persistenten Daten werden in Volumes gespeichert. Sie werden vollständig von Docker über die Docker-CLI oder die Docker-API verwaltet. Volumes funktionieren sowohl auf Windows- als auch auf Linux-Containern. Anstatt Daten in der beschreibbaren Ebene eines Containers zu speichern, ist es immer eine gute Option, Volumes dafür zu verwenden. Der Inhalt des Volumes befindet sich außerhalb des Lebenszyklus eines Containers. Durch die Verwendung des Volumes wird die Größe eines Containers nicht erhöht.

Sie können das Flag -v oder –mount verwenden, um einen Container mit einem Volume zu starten. In diesem Beispielbefehl verwenden Sie das Geekvolume-Volume mit dem Geekflare-Container.

Docker run -d –name geekflare -v geekvolume: / app nginx: aktuell

Netzwerke

Das Docker-Netzwerk ist ein Durchgang, über den alle isolierten Container kommunizieren. Docker enthält hauptsächlich fünf Netzwerktreiber:

  1. Brücke: Dies ist der Standard-Netzwerktreiber für einen Container. Sie verwenden dieses Netzwerk, wenn Ihre Anwendung auf eigenständigen Containern ausgeführt wird, d. H. Auf mehreren Containern, die mit demselben Docker-Host kommunizieren.
  2. Wirt: Dieser Treiber entfernt die Netzwerkisolation zwischen Docker-Containern und Docker-Host. Es wird verwendet, wenn Sie keine Netzwerkisolation zwischen Host und Container benötigen.
  3. Überlagerung: Dieses Netzwerk ermöglicht es Schwarmdiensten, miteinander zu kommunizieren. Es wird verwendet, wenn die Container auf verschiedenen Docker-Hosts ausgeführt werden oder wenn Schwarmdienste von mehreren Anwendungen gebildet werden.
  4. Keiner: Dieser Treiber deaktiviert das gesamte Netzwerk.
  5. Macvlan: Dieser Treiber weist Containern eine Mac-Adresse zu, damit sie wie physische Geräte aussehen. Der Datenverkehr wird zwischen Containern über ihre Mac-Adressen geleitet. Dieses Netzwerk wird verwendet, wenn die Container beispielsweise während der Migration eines VM-Setups wie ein physisches Gerät aussehen sollen.

Fazit

Ich hoffe, dies gibt Ihnen eine Vorstellung von der Docker-Architektur und ihren wesentlichen Komponenten. Navigieren Sie in Docker, um mehr zu erfahren. Wenn Sie an praktischen Schulungen interessiert sind, lesen Sie diese Informationen Docker Mastery Kurs.

STICHWORTE:

  • 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