Beherrschen Sie die Docker-Grundlagen mit diesen wichtigen Konzepten, die in einfachen Worten erklärt werden.

Die Beherrschung von Docker ist eine gefragte Fähigkeit für Backend-Softwareentwickler. Docker hilft Ihnen beim Erstellen, Verpacken und Verteilen von Anwendungen.

Dockerisierte Anwendungen können in verschiedenen Umgebungen ausgeführt werden. Dies verringert die Ausfallzeiten von Anwendungen und verschafft Unternehmen einen Wettbewerbsvorteil. Aber Docker kann einschüchternd sein, wenn man anfängt, es zu lernen. Hier finden Sie wichtige Themen zum Erlernen der Beherrschung von Docker.

Was ist Docker?

Docker ist eine Software, mit der Anwendungen in ausführbare Einheiten, sogenannte Container, verpackt werden. Docker bietet Unterstützung für das schnelle Erstellen, Testen und Bereitstellen von Anwendungen.

Wenn Sie Docker verwenden, interagieren Sie mit der Docker Engine. Sie können Docker Engine auf jedem Betriebssystem installieren, einschließlich Windows 10 und 11, Mac OS, oder

Ubuntu/Linux-Systeme. Es gibt viele Tools und Konzepte, die Sie erlernen müssen, um Docker effektiv nutzen zu können. Hier sind die wichtigsten, um Ihnen den Einstieg zu erleichtern.

1. Docker-Image

Ein Docker-Image ist ein einfacher Entwurf, der zum Erstellen von Containern verwendet wird. Es handelt sich um eine Vorlage mit Anweisungen, die das Betriebssystem, den Anwendungscode und Abhängigkeiten angeben. Sie definieren Anweisungen zum Erstellen des Images auf einer Docker-Datei.

In der Datei geben Sie alles an, was Ihre Bewerbung benötigt. Docker erstellt dann automatisch das Image basierend auf den bereitgestellten Anweisungen. Verschiedene Images finden Sie in der Online-Registrierung von Docker, Docker Hub. Docker empfiehlt aus Sicherheitsgründen die Verwendung der offiziellen Images.

Sie können Images auch basierend auf benutzerdefinierten Konfigurationen erstellen. Bilder gibt es in verschiedenen Größen, Betriebssystemen und Sprachen. Sie können diejenige auswählen, die am besten zu Ihrer Anwendung passt. Man kann zum Beispiel lernen So erstellen Sie ein Docker-Image einer .NET-Web-API.

2. Docker-Container

Container sind Einheiten, mit denen eine Anwendung in eine ausführbare Einheit verpackt wird. Container umfassen alles, was zum Ausführen einer Anwendung erforderlich ist, einschließlich Bibliotheken, Code, Abhängigkeiten und Laufzeit.

Container isolieren Anwendungen in Einheiten, sodass sie in verschiedenen Umgebungen konsistent ausgeführt werden können. Mit Containern können Sie Anwendungen in Entwicklungs- und Produktionsumgebungen fehlerfrei verwalten. Es gibt viele Anwendungsfälle für Container das du erkunden kannst.

Docker-Container verfügen über Details wie die Container-ID, das Image und das Basisbetriebssystem. Außerdem können Sie die Laufzeit, den Status und den Namen des Containers sehen. Um alle Container in Ihrem System aufzulisten, verwenden Sie den folgenden Befehl:

docker container ls

Sie sehen Details zu allen laufenden Containern:

Sie können auch verwenden Docker PS um alle laufenden Container anzuzeigen. Und Docker-Container inspizieren [Container-ID] um den Inhalt eines Containers anzuzeigen.

4. Docker-Datei

Eine Docker-Datei ist ein Dokument, das Anweisungen zum Erstellen des Docker-Images enthält. Die Datei gibt das Basis-Image, den Anwendungscode und die zum Erstellen des Images erforderlichen Dateien an.

Die Datei enthält auch die Umgebungsvariablen und die Befehle zur Image-Erstellung. Sie können eine Docker-Datei wie jede andere Datei erstellen. Sie müssen die Anweisungen in der Datei mit einer Syntax angeben, die Docker versteht. Im Folgenden finden Sie ein Beispiel für eine Docker-Beispieldatei:

5. Docker Compose

Docker Compose ist ein Tool zum Definieren und Ausführen von Docker-Anwendungen mit mehreren Containern. Sie konfigurieren alle Dienste in einer YAML-Datei. Eine YAML-Datei ist ein Dokument, in dem Sie die benötigten Dienste für Ihre Anwendung angeben. Anschließend können Sie alle Dienste mit einem einzigen Befehl erstellen und ausführen.

Docker Compose kann Anwendungen in verschiedenen Umgebungen ausführen. Dies können Produktions-, Staging-, Entwicklungs- oder Testumgebungen sein. Docker Compose vereinfacht den komplexen Prozess der Orchestrierung mehrerer Container.

Mit Docker Compose können Sie eine Anwendung während ihres gesamten Lebenszyklus verwalten. Dies kann das Starten, Stoppen und Wiederherstellen von Diensten umfassen. Sie können auch den Status laufender Dienste anzeigen, die Protokollausgabe streamen und Befehle für einen Dienst ausführen.

Mit Docker Compose können Sie Netzwerke konfigurieren, Volumes verwalten und Abhängigkeiten angeben. Sie können Anwendungen in der Produktion auch horizontal skalieren, indem Sie Replikatdienste angeben.

Compose vereinfacht die Bereitstellung komplexer Anwendungen in verschiedenen Umgebungen. Sie können es auch verwenden, um dieselbe Umgebung in verschiedenen Systemen zu replizieren. Erfahren Sie, wie Sie Docker Compose verwenden kann die Effizienz Ihrer Anwendung steigern.

Hier ist ein Beispiel einer Docker Compose YAML-Datei:

6. Docker-Hub

Docker-Hub ist eine Online-Container-Registrierung für Docker. Als größte Container-Registrierung ist es ein Kollaborationstool für Entwickler und Open-Source-Mitwirkende. Es ist auch ein ausgezeichneter Marktplatz für Softwareanbieter.

Docker Hub ist eine vertrauenswürdige Ressource für die Suche nach zuverlässiger Virtualisierungssoftware. Sie können ein Repository erstellen und über 100.000 Bilder teilen.

Du kannst Hosten Sie Ihre Anwendungen und Code auf der Plattform. Sie können auch mit anderen Entwicklern an Projekten zusammenarbeiten. Docker Hub bietet eine kostenlose öffentliche Option oder kostenpflichtige private Repos für bestimmte autorisierte Teams.

7. Docker-Netzwerk

Docker-Netzwerk ist eine Funktion, die es Containern ermöglicht, untereinander und mit externen Ressourcen zu kommunizieren. Netzwerke ermöglichen eine kontrollierte und isolierte Kommunikation zwischen Containern. Dabei kann es sich um Container handeln, die auf einem oder mehreren Hosts laufen.

Wenn Sie einen Container auf Ihrem Computer ausführen, ist dieser nicht für externe Netzwerke verfügbar. Sie verwenden Ports, um die Container externen IP-Adressen, DNS-Diensten, Routing-Tabellen und Internet-Gateways zugänglich zu machen.

Durch die Vernetzung können Container in isolierten Netzwerkumgebungen betrieben werden. Die Netzwerke stellen Namespaces und IP-Adressen bereit, wodurch Containerkonflikte reduziert und die Sicherheit erhöht werden.

8. Docker-Volumes

In Docker sind Volumes ein Mechanismus zum Speichern persistenter Daten. Container sind von Natur aus vergänglich. Das heißt, es ist einfach, sie mit all ihren Daten zu ersetzen oder zu zerstören. Es gibt jedoch Fälle, in denen Sie die Daten behalten möchten. In solchen Fällen können Sie Docker-Volumes zur Verwaltung persistenter Daten verwenden.

Volumes haben auch andere Verwendungszwecke, unter anderem ermöglichen sie die gemeinsame Nutzung von Daten zwischen Containern. Im Vergleich zu anderen Speicherformen sind sie einfach zu sichern und zu migrieren. Darüber hinaus können Sie Volumes mithilfe der Docker-CLI oder der API verwalten.

Wenn Sie einen Container ohne Volume ausführen, erstellt Docker automatisch eines. Sie können Volumes auch isoliert von beliebigen Containern erstellen und verwalten. Verwenden Sie den folgenden Befehl, um ein Volume zu erstellen.

docker volume create my-vol

Um das von Ihnen erstellte Volume anzuzeigen, führen Sie den folgenden Befehl aus:

docker volume ls //local my-vol

Anschließend können Sie die Volumes an jeden beliebigen Container anhängen. Weitere Informationen zu den Bänden finden Sie unter Docker offizielle Dokumentation.

Weitere Docker-Funktionen

Docker ist eine der besten Optionen für die Containerverwaltung und Versionskontrolle. Wenn Sie sich mit dem Toolset von Docker vertraut machen, können Sie Ihren Entwicklungsworkflow beschleunigen und optimieren.

Docker verfügt über viele Funktionen, mit denen Sie Ihre Anwendungen verwalten können. Nachdem Sie die wichtigsten Funktionen beherrschen, können Sie andere komplexe Funktionen wie Docker Swarm erkunden, das zur Orchestrierung komplexer Anwendungen verwendet wird.