Im
ersten Teil der Übersetzung der Docker-Reihe gaben wir einen Überblick über dieses System. Insbesondere haben wir darüber gesprochen, warum Containerisierungstechnologien heutzutage wichtig sind, was Docker-Container sind und womit sie verglichen werden können. Heute werden wir über das Docker-Ökosystem sprechen und wichtige Begriffe untersuchen, die beim Erlernen und Verwenden von Docker auftreten können. Wenn Sie die Analogie mit verschiedenen Leckereien fortsetzen, stellen Sie sich vor, dass unsere Begriffe Donuts sind. Ein Dutzend Donuts.
→
Teil 1: die Grundlagen→
Teil 2: Begriffe und Konzepte→
Teil 3: Dockerfile-Dateien→
Teil 4: Verkleinern von Bildern und Beschleunigen ihrer Montage→
Teil 5: Teams→
Teil 6: Arbeiten mit DatenDocker-Ökosystembedingungen
Ich habe die Begriffe, die bei der Arbeit mit Docker auftreten können, in zwei Teile unterteilt. Ich denke, das wird es einfacher machen, sich an sie zu erinnern. Der erste Begriffsblock bezieht sich auf Docker-Mechanismen. Die zweite besteht darin, Lösungen basierend auf Containern zu skalieren.
Docker-Mechanismen
▍ Docker-Plattform
DockerDie Docker-Plattform (
Docker-Plattform ) ist ein Programm, mit dem wir Anwendungen in Container packen und auf Servern ausführen können. Mit der Docker-Plattform können Sie Code und seine Abhängigkeiten in Container einfügen. Containerbasierte Systeme sind daher einfach zu skalieren, da Container transportiert und gespielt werden können.
▍Dockermotor
MotorDie Docker
Engine (
Docker Engine ) ist eine Client-Server-Anwendung. Docker hat die Docker-Engine in zwei Produkte unterteilt.
Docker Community Edition (CE) ist eine Freeware, die weitgehend auf
Open Source-Tools basiert.
Sie werden wahrscheinlich diese spezielle Version von Docker verwenden.
Docker Enterprise ist eine kostenpflichtige Version des Systems, die Benutzern zusätzliche Funktionen in den Bereichen Systemunterstützung, Verwaltung und Sicherheit bietet. Die kostenpflichtige Version von Docker gibt dem Unternehmen die Mittel, die für seine Existenz erforderlich sind.
▍Kunden-Docker
Docker-Client und andere Ökosystemmechanismen (aus der Dokumentation entnommen)Der Docker-
Client ist das primäre Tool für die Interaktion mit Docker. Wenn Sie also mit der
Docker Command Line Interface (CLI) arbeiten, werden Befehle in das Terminal eingegeben, die mit dem Schlüsselwort
docker
und sich auf den Client beziehen. Der Client verwendet dann die Docker-API, um Befehle an den Docker-Dämon zu senden.
OckDocker Demon
Der Docker-Daemon (
Docker-Daemon ) ist ein Docker-Server, der auf Anforderungen an die Docker-API wartet. Der Docker-Daemon verwaltet Images, Container, Netzwerke und Volumes.
OmaToma Docker
TomaDocker-Volumes sind der bevorzugte Mechanismus zum dauerhaften Speichern von Daten, die von Anwendungen verbraucht oder produziert werden.
▍ Docker-Registrierung
Die Docker-Registrierung (
Docker-Registrierung ) ist eine Remote-Plattform zum Speichern von Docker-Images. Bei der Arbeit mit Docker werden Bilder an die Registrierung gesendet und von dieser heruntergeladen. Eine ähnliche Registrierung kann von Docker organisiert werden. Darüber hinaus können Cloud-Dienstanbieter ihre eigenen Register führen. Dies gilt beispielsweise für
AWS und
Google Cloud .
▍Docker Hub
Der
Docker Hub ist die größte Docker-Image-Registrierung. Darüber hinaus wird diese Registrierung standardmäßig bei der Arbeit mit Docker verwendet. Sie können den Docker Hub kostenlos nutzen.
▍ Docker-Repository
Ein Docker-
Repository ist eine Sammlung von Docker-Images, die denselben Namen und dasselbe Tag haben. Tags sind Bezeichner von Bildern.
In der Regel speichern Repositorys unterschiedliche Versionen derselben Bilder. Beispielsweise ist
Python der Name des beliebtesten offiziellen Docker-Repositorys auf dem Docker-Hub. Und hier ist Python: 3.7-slim ist die Version des Bildes mit dem 3.7-slim-Tag im Python-Repository. Sie können das gesamte Repository oder ein separates Image an die Registrierung senden.
Lassen Sie uns nun über die Bedingungen des Docker-Ökosystems im Zusammenhang mit der Skalierung sprechen.
Skalierung von containergestützten Lösungen
Die folgenden vier Begriffe beziehen sich auf die gleichzeitige Verwendung mehrerer Container.
▍ Docker-Netzwerk
Docker-Netzwerk (aus der Dokumentation entnommen)Docker Networking- Mechanismen (
Docker Networking ) ermöglichen die Kommunikation zwischen Docker-Containern. Mit dem Netzwerk verbundene Container können auf demselben Host oder auf verschiedenen Hosts ausgeführt werden. Details zum Docker-Netzwerksubsystem finden Sie
hier .
▍Docker Compose
Docker Compose ist ein Tool, das die Bereitstellung von Anwendungen vereinfacht, für deren Ausführung mehrere Docker-Container erforderlich sind. Mit Docker Compose können Sie die in der
docker-compose.yml
beschriebenen Befehle ausführen. Diese Befehle können beliebig oft ausgeführt werden. Die Docker Compose-Befehlszeilenschnittstelle erleichtert die Interaktion mit Anwendungen mit mehreren Containern. Dieses Tool wird bei der Installation von Docker installiert.
OckDocker Swarm
BienenschwarmDocker Swarm ist eine Lösung zum Verwalten von Containerbereitstellungen (dh zum Orchestrieren von Containern). Erfahren Sie mehr über Docker Swarm in diesem offiziellen Docker-Tutorial. Ich würde Ihnen empfehlen, keine Zeit damit zu verschwenden, Docker Swarm zu erkunden, wenn Sie keinen guten Grund haben.
▍ Docker-Dienste
Docker Services sind verschiedene Teile einer verteilten Anwendung. In der
Dokumentation steht Folgendes über sie:
Dienstleistungen sind nur „Container in Produktion“. Innerhalb des Dienstes wird nur ein Bild ausgeführt, aber der Dienst bestimmt, wie das Bild ausgeführt wird. Insbesondere geht es darum, welche Ports verwendet werden sollten, wie viele Replikate des Containers ausgeführt werden müssen, damit der Dienst die erforderliche Rechenleistung bereitstellt, und so weiter. Bei der Skalierung von Diensten wird die Anzahl der Instanzen des Containers geändert, in dem ein bestimmtes Programm ausgeführt wird, sodass dem Dienst so viele Systemressourcen zugewiesen werden, wie zur Lösung eines bestimmten Problems erforderlich sind.Mit Docker-Diensten können Sie Container innerhalb mehrerer Docker-Dämonen skalieren, und es gibt auch die Docker Swarm-Technologie.
Kurze Liste der Begriffe
Lassen Sie uns kurz und bündig die Begriffe wiederholen, die Ihnen gerade vorgestellt wurden:
Docker-Mechanismen:
- Docker-Plattform - Software, mit der Sie mit Containern arbeiten können.
- Die Docker-Engine ist eine Client-Server-Anwendung (CE oder Enterprise).
- Der Docker-Client ist ein Programm, mit dem Sie über die CLI mit dem Docker-Dämon interagieren können.
- Der Docker-Daemon ist der Docker-Server, der für die Verwaltung der Schlüsselmechanismen des Systems verantwortlich ist.
- Tom Docker ist ein Informationsspeicher, der in Containern verwendet wird.
- Die Docker-Registrierung ist ein Remote-Repository für Bilder.
- Der Docker Hub ist die größte standardmäßig verwendete Docker-Registrierung.
- Repository - Eine Sammlung von Docker-Images mit demselben Namen.
Skalierung:
- Das Docker-Netzwerksubsystem ist eine Umgebung, in der Sie die Interaktion von Containern organisieren können.
- Docker Compose ist eine Technologie, die das Arbeiten mit Anwendungen mit mehreren Containern vereinfacht.
- Docker Swarm ist ein Tool zur Verwaltung der Containerbereitstellung.
- Docker-Services sind Container in der Produktion.
Wir haben bereits gesagt, dass wir uns ein Dutzend Docker-Ökosystembegriffe ansehen werden, indem wir sie mit einem Dutzend Donuts vergleichen. Wir haben bereits 12 Begriffe überprüft, und es scheint, dass wir hier aufhören können. Für alle
Fälle fügen wir unserer Liste einen weiteren Begriff hinzu.
Hier für alle Fälle noch ein DonutDieser Begriff bezieht sich nicht auf die Docker-Plattform selbst, sondern auf eine Technologie, die sehr häufig in Verbindung mit Docker verwendet wird.
Kubernetes
KubernetesKubernetes ist eine Technologie, die die Bereitstellung, Skalierung und Verwaltung von Anwendungen in Containern automatisiert. Es ist der unbestrittene Marktführer für Container-Orchestrierungsprodukte. Wenn Sie ein Tool für die Arbeit mit Containergruppen benötigen, um darauf basierende Lösungen zu skalieren, verwenden Sie Kubernetes anstelle von Docker Swarm. Kubernetes ist nicht Teil von Docker. Sie und Docker sind eher die besten Freunde.
Nachdem Sie sich mit den allgemeinen Konzepten von Docker und der Terminologie vertraut gemacht haben, können Sie mit praktischen Experimenten beginnen.
Fazit: Donuts mit Docker backen
Erinnern Sie sich, wie wir das letzte Mal die Docker-Plattform mit dem Ofen verglichen haben, der in der Küche installiert ist? Jetzt ist es an der Zeit, Docker in Ihrer „Küche“ zu installieren und etwas zu kochen.
Docker kann lokal unter Linux, Mac und Windows ausgeführt werden. Wenn Sie einen Mac oder Windows verwenden, können Sie hier die neueste Version von Docker Desktop installieren. Zusammen mit diesem Programm wird übrigens auch Kubernetes installiert. Wenn Sie Docker auf einer anderen Plattform installieren, suchen Sie
hier nach einer geeigneten Version.
Schauen Sie sich nach der Installation von Docker die ersten beiden Teile des
offiziellen Handbuchs an .
Nächstes Mal werden wir weiter über Docker sprechen. Lassen Sie uns insbesondere über Dockerfile-Dateien sprechen.
Liebe Leser! Wenn Sie beim Lesen der Materialien in dieser Reihe Docker entdecken, teilen Sie uns bitte mit, wie Sie Anwendungscontainerisierungstechnologien einsetzen möchten.
