Einführung in die Docker-Architektur

Diese Docker-Technologie verwendet den Linux-Kernel wie Cgroups und Namespaces, um den Prozess zu trennen und unabhängig von Abhängigkeiten auszuführen. Diese unabhängige Funktion hat Docker erfolgreich gemacht, indem einzelne Instanzen oder Anwendungen gleichzeitig ausgeführt und die Infrastruktur besser genutzt wurden. Docker- und Container-Tools stellen ein Image-basiertes Bereitstellungsmodell bereit, mit dem eine Anwendung problemlos in mehreren Umgebungen gemeinsam genutzt werden kann. Die auf Containern aufgebauten Werkzeuge machen Docker einzigartig, schnell, flexibel, unabhängig und benutzerfreundlich. In diesem Thema lernen wir die Docker-Architektur kennen.

Was ist Docker?

Das Wort Docker umfasst verschiedene Dinge wie Tools aus einem Open-Source-Projekt, den primären Unterstützer des Projekts und die Tools, die das Unternehmen direkt unterstützt. Im IT-Bereich ist der Docker eine Containerisierungstechnologie, mit der Linux-Container erstellt und verwendet werden. Die Open-Source-Docker-Community arbeitet daran, diese Technologien zu verbessern, um den Benutzern mehr Vorteile zu bieten. Das Unternehmen, das auf der Docker-Community aufbaut, macht sie zuverlässiger, sicherer und erleichtert und teilt die erweiterten Funktionen mit dem Unternehmen. Mit Docker können Container wie leichte, modulare und virtuelle Maschinen einfach gesteuert und auch zum Erstellen, Bereitstellen, Kopieren und Verschieben aus der Umgebung in die Umgebung verwendet werden.

Docker-Architektur

Die Docker Engine ist ein wichtiger Bestandteil des Gesamtsystems. Docker Engine ist ein Dienst, der die auf dem Gastcomputer eingerichtete Client-Server-Infrastruktur einhält.

Die wichtigen drei Komponenten sind

  1. Server: Der Server ist der Docker - Daemon mit dem Namen dockerd, der Docker - Container, Bilder, Netzwerke usw. Verwalten und erstellen kann
  2. Rest-API : Die Rest-API steuert den Docker-Dämon in seinen Prozessen
  3. CLI: Command Line Interface (Befehlszeilenschnittstelle) ist eine Benutzeroberfläche, die zur Eingabe von Befehlen im Docker verwendet wird

Docker-Client: Benutzer von Docker können über den Host mit Docker kommunizieren. Wenn ein Docker-Befehl ausgeführt wird, werden diese vom Host in den Docker-Daemon verschoben, wodurch sie entfernt werden. Die API des Dockers wird von Befehlen des Dockers verwaltet. Der Docker-Client kann die Interaktion mit mehreren Instanzen ermöglichen.

Docker-Registries: Der Docker-Hub ist der Speicherort für Docker-Images einer öffentlichen Registry. Es kann entweder als private Docker-Registrierung oder als öffentliche Docker-Registrierung verwendet werden. Clients können auch ihre eigene private Registrierung erstellen und ausführen

Docker-Objekte

Clients, die mit Docker arbeiten, verwenden Volumes, Container, Images, Netzwerke und alle verfügbaren Docker-Objekte

1. Bilder

Die Bilder des Dockers sind schreibgeschützt und enthalten Befehle zum Entwerfen eines neuen Docker-Containers. Das Docker-Image kann von einem Docker-Hub abgerufen und verwendet werden. Es kann dem letzten Bild zusätzliche Schritte hinzufügen und ein modifiziertes Docker-Bild entwerfen. Ein Client kann seine Andockbilder mithilfe einer Andockdatei erstellen. Der erste Schritt besteht darin, einen Container zu erstellen, der eine Docker-Datei erstellt und mit den erforderlichen Anweisungen ein eigenes Docker-Image erstellt. Andockbild, eine darunter liegende Ebene ist schreibgeschützt und die erste Ebene kann geschrieben werden. Ein Client kann nur die oberste Ebene eines Andockbilds bearbeiten und ändern.

2. Behälter

Der Docker-Container wird erstellt, nachdem ein Docker-Image ausgeführt wurde. Alle Instanzen und Anwendungen werden im Container ausgeführt. Ein Client kann die Docker-API verwenden, um den Container zu löschen, zu starten oder zu stoppen.

Dies ist ein Beispielbefehl zum Ausführen eines Docker-Containers:

docker run -i -t Ubuntu / Bin / Bash

3. Bände

Die von docker ausgeführten aktuellen Daten werden von Docker-Containern verwendet und in Volumes gespeichert. Das gesamte System wird über die API des Dockers gesteuert. Auf Linux- und Windows-Plattformen angewendete Volumes. Um Informationen in einer bearbeitbaren Containerebene zu bearbeiten, ist es besser, Volumes zum Schreiben zu verwenden. Der Inhalt des Volumes befindet sich außerhalb des Containers, sodass Größe und Eigenschaften des Containers nicht beeinflusst werden

Verwenden Sie -v oder –mount, um ein Volume in einem Container zu initiieren.

Wenn der Client Geek-Volume mit dem Container verwendet,

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

4. Netzwerke

Docker Networking ist ein Kommunikationsweg für alle isolierten Container.

Die Netzwerktreiber im Dock: Die Bridge ist der Festnetztreiber für einen Container. Clients belegen dieses Netzwerk für Anwendungen, die auf selbsttragenden Containern ausgeführt werden, dh vielen Containern, die mit gemeinsamen Docker-Hosts interagieren. Der Host ist ein Treiber, der die Netzwerktrennung zwischen Docker-Containern und Docker-Host aufhebt.

Überlagerung: Das Netzwerk überträgt Teamdienste, um mit anderen zu interagieren. Dies wird nur angewendet, wenn der Container auf mehreren Docker-Gast- oder Teamdiensten ausgeführt wird, die von vielen Anwendungen generiert wurden. Ein Treiber, der alle Netzwerkverbindungen trennt, wird als "Keiner" -Treiber bezeichnet

Macvlan: Der Treiber weist allen Containern eine eindeutige MAC-Adresse zu, um sie wie Hardwaresysteme darzustellen . Sie steuern den Verkehr zwischen Containern mit ihren MAC-Adressen. Das Netzwerk wird bei Bedarf aktiviert. Zum Beispiel bei der Migration des Setups der virtuellen Maschine.

Vorteile von Docker

Lassen Sie uns einige der Vorteile von Docker kennenlernen

  • Kapitalrendite und Kosteneinsparungen: Docker kann die Kosten senken, indem es minimale Infrastrukturressourcen ermöglicht. Das Engineering-System kann kostengünstig eingesetzt werden, da umfangreiche Anwendungen mit einer einfachen Einrichtung ausgeführt werden
  • Standardisierung und Produktivität: Docker bietet Standardisierung, indem die Server in der Produktionsumgebung kontinuierlich weiterentwickelt, bereitgestellt und getestet werden. Es ist schnell, was Replikationen und Redundanz ermöglicht.
  • CI-Effizienz: Es wird das Docker-Image erstellt und dasselbe wird effektiv für den gesamten Bereitstellungsprozess verwendet.
  • Kompatibilität und Wartbarkeit: Es ist portabler und einfacher zu installieren und zu debuggen.
  • Einfachheit und schnellere Konfigurationen: Daten können innerhalb von Sekundenbruchteilen in einem erschwinglichen Bereich mit einer minimalen Reaktionszeit erstellt und zerstört werden.
  • Schnelle Bereitstellung: Verwaltet die Bereitstellung in Sekundenschnelle für eine Vielzahl von Umgebungen
  • Kontinuierliche Bereitstellung und Tests: Docker stellt logische Umgebungen von der Entwicklung bis zur Produktion sicher. Docker-Container sind so konfiguriert, dass alle Konfigurationen und Abhängigkeiten intern verwaltet werden. Somit kann der Kunde denselben Container von der Entwicklung bis zur Produktion ohne Unstimmigkeiten oder manuelle Eingriffe verwenden.

Fazit - Docker-Architektur

Docker unterstützt Multi-Cloud-Plattformen wie AWS, GCP und ermöglicht die Ausführung von Instanzen in Amazon EC2-Instanzen, Rack Space-Servern oder virtuellen Boxen. Es unterstützt auch Microsoft Azure, Open Stack zum Verwalten von Chief, Puppet und Ansible. Der Vorteil von Docker ist die Sicherheit. Docker überprüft, ob Instanzen, die auf Containern ausgeführt werden, vollständig voneinander getrennt und isoliert sind, um die Kontrolle über den Verkehrsfluss und die Verwaltung zu gewährleisten. Wenn ein Client Docker Pull- oder Docker Run-Befehle ausführt, wird das gewünschte Docker-Image aus der konfigurierten Registrierung abgerufen. Wenn ein Client einen Docker-Push-Befehl ausführt, wird das Docker-Image in der konfigurierten Registrierung gespeichert.

Empfohlene Artikel

Dies ist eine Anleitung zur Docker-Architektur. Hier diskutieren wir die Architektur, Objekte und die Vorteile von Docker mit den Netzwerktreibern. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. Was ist Docker Swarm?
  2. Installieren Sie Docker
  3. Docker-Alternativen
  4. Docker-Befehle
  5. Docker-Schwarm-Architektur

Kategorie: