Docker ist ein offenes Plattformtool, das eine Container-Laufzeitumgebung bietet. Mit Hilfe dieser Software können Programmierer ihren Code überall als Container entwickeln, versenden und ausführen, z. B. vor Ort oder in der öffentlichen Cloud. Docker nutzt die Virtualisierung auf Betriebssystemebene, um Container hochzufahren. Docker Engine ist der Host, auf dem Docker installiert ist und Container gesponnen werden.
Wenn Sie ein App-Entwickler sind, der in einer Open-Source-Umgebung arbeiten möchte, werden Sie zu schätzen wissen, was Docker in Debian-Version 11 (Bullseye) bietet. Darüber hinaus beschleunigt diese Software die Bereitstellung, da zielgerichtete Apps und ihre bevorzugten Entwicklungsinfrastrukturen voneinander unabhängig sind.
Docker übernimmt die Kontrolle über die Softwareentwicklungs- und Testinfrastruktur, während Entwickler aktiv laufende oder noch in der Entwicklung befindliche Apps verwalten. Daher verkürzt die Docker-Methodik den Zeitrahmen zwischen dem Schreiben von funktionalem Code und seiner Produktionsreife. Dies führt zu einem schnellen Testen, Versand und Einsatz von Anwendungscodes.
Das Docker-Projekt hat es DevOps im Grunde genommen einfacher gemacht, ihre Apps als „einmal erstellen und überall ausführen“ zu verpacken Strategie, d. h. Sie erstellen eine App einmal und sie kann überall ausgeführt oder ausgeführt werden.
Der Docker-Container
Sie können sie sich als ausführbare Images vorstellen. Mit Docker Application Programming Interface (API) oder Command Line Interface (CLI) können Sie diverse Operationen in einem Docker-Container durchführen. Es ermöglicht Ihnen auch, einen Container mit einem oder mehreren Netzwerken zu verbinden, ihm beliebigen Speicher zuzuweisen oder ein neues Docker-Image aus einem bereits vorhandenen Zustand zu erstellen.
Ein Container ist normalerweise gut von seinem Host und seiner Standardmaschine getrennt. Sie haben die Zuständigkeit für das private Netzwerk eines Containers, seinen Speicher und andere grundlegende Subsysteme. Das Image eines Containers und alle von Ihnen angebotenen Konformationseinschränkungen werden bei der Erstellung oder Initialisierung verwendet. Alle Änderungen oder Modifikationen am Status eines Containers, die nicht im dauerhaften Speicher gespeichert sind, gehen beim Entfernen des Containers verloren.
Im Folgenden finden Sie einige der Terminologien/Docker-Komponenten
Docker-Container: Dies ist ein laufendes Beispiel eines Docker-Images mit einer Anwendung und ihren Abhängigkeiten. Es ist wichtig zu beachten, dass jeder Container eine unverwechselbare Identifikation (ID) hat und von anderen Containern getrennt ist. Eine Sache, die Container gemeinsam haben, ist der Kernel.
Docker-Client: Dies ist ein Befehlszeilentool, das der Benutzer verwendet, um mit dem Docker-Daemon zu interagieren.
Docker-Daemon: Auch bekannt als Docker-Engine. Es bezieht sich auf einen Hintergrundprozess, der auf dem Hostsystem ausgeführt wird, das für das Generieren und Ausführen von Containern verantwortlich ist.
Docker-Registrierung: Dies ist eine App, die für die Verwaltung der Speicherung und Bereitstellung von Docker-Container-Images verantwortlich ist. Es kann entweder privat oder öffentlich sein.
Docker-Bild: Dies ist eine unveränderliche Datei, nur ein Screenshot eines Containers. Ein Docker-Image enthält ein Dateisystem und App-Abhängigkeiten, die zum Ausführen von Apps benötigt werden.
Voraussetzungen:
- Benutzer mit sudo-Rechten
- 64-Bit-System
- Stabile Netzwerkverbindung
- Minimale Debian 11-Installation
Installieren von Docker unter Debian 11
Schritt 1:Docker-Abhängigkeiten installieren
Öffnen Sie zunächst Ihr Terminal mit „STRG+ALT+T“ und führen Sie den folgenden Befehl aus, um sicherzustellen, dass Ihr System auf dem neuesten Stand ist:
sudo apt-get update
Als nächstes werden wir die erforderlichen Docker-Abhängigkeiten mit dem folgenden Befehl an das Debian-System anhängen:
sudo apt -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common
Hinweis: Stellen Sie sicher, dass die Abhängigkeiten erfolgreich installiert wurden, damit die Software ordnungsgemäß ausgeführt werden kann.
Schritt 2:Offiziellen GPG-Schlüssel von Docker hinzufügen:
Bevor Sie das Repository zum Herunterladen und Installieren von Docker-Paketen einrichten, müssen Sie den offiziellen GPG-Schlüssel von Docker an die Keyrings anhängen. Das Hauptziel dieses Schlüssels besteht darin, die Gültigkeit heruntergeladener Docker-Pakete sicherzustellen. Führen Sie dazu den folgenden Befehl aus:
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Schritt 3:Stable-Repository hinzufügen
In dieser Phase müssen Sie das stabile Repo mit dem folgenden Befehl hinzufügen, um die aktuelle Version der Docker-Pakete herunterzuladen. Also werden wir das Repo einrichten
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
Schritt 4:Paket-Cache aktualisieren
Nachdem Sie die Repo-Informationen angehängt haben, müssen Sie den Paket-Cache mit allen Paketinformationen aus dem neu hinzugefügten Repo aktualisieren, indem Sie den apt-Befehl wie unten gezeigt verwenden:
apt-get update
Schritt 5:Docker-Engine installieren
Laden Sie als Nächstes die neueste Version der Docker-Engine und des Containers mit dem folgenden Befehl herunter und installieren Sie sie:
apt-get install docker-ce docker-ce-cli containerd.io
Schritt 6:Überprüfen Sie die Docker-Version
Nach erfolgreicher Installation können Sie den folgenden Befehl ausführen:
docker –version
Schritt 7:Überprüfen Sie den Docker-Dienst
Der nächste Schritt besteht darin, den Docker-Status nach erfolgreicher Installation zu überprüfen. Wir werden dies mit „systemctl“ tun Befehl. Dieser Befehl wird verwendet, um verschiedene Dienste in einem System zu steuern. In unserem Kurs führen wir das „systemctl“ aus Befehl mit dem "Status" Option, um zu sehen, ob der Docker-Dienst auf unserem Debian-System aktiv oder inaktiv ist:
sudo systemctl status docker
Wenn der Docker aktiv ist, wie in unserem Fall, sollten Sie eine aktive (laufende) grüne Schrift sehen, wie im obigen Schnappschuss hervorgehoben.
Der Docker-Dienst wird nach dem Setup automatisch gestartet, aber Sie können dies jederzeit mit dem zuvor behandelten docker-Befehl systemctl status überprüfen. Falls erforderlich, können Sie den Dienst auch über den systemctl start docker starten Befehl oder starten Sie den Dienst neu, indem Sie den systemctl-Neustart-Docker verwenden Befehl:
Schritt 8:Docker testen
Bisher haben wir jetzt Docker installiert und seinen Status auf unserem Debian-System überprüft. Was nun? Sie können fragen. Wir werden die Funktionsweise von Docker untersuchen, indem wir einen Beispielcontainer ausführen. Im Wesentlichen werden wir versuchen, eine "Hallo-Welt" zu betreiben globaler Docker-Container.
Hello World-Bild ausführen
Sie können jetzt die Docker-Engine verwenden, um Ihren ersten Container aus dem hello-world-Image zu erstellen. Dies kann durch Ausführen des Befehls hello-world wie unten gezeigt erreicht werden:
docker run hello-world
Schritt 9:Docker-Images auflisten
Als Nächstes können Sie die Liste aller verfügbaren Bilder mit dem Befehl docker images ausführen. Bitte beachten Sie die Ähnlichkeit zwischen den Docker-Images -Befehl und das Docker-Image Befehl, da beide unterschiedlichen Zwecken dienen. Sie können die Docker-Image-
docker images
Schritt 10:Führen Sie einen Ubuntu-Container aus
Hier können Sie docker run -it ubuntu bash verwenden Befehl zum Ausführen eines Ubuntu-Containers. Wenn Sie dem Bild kein bestimmtes Tag zuweisen, wird standardmäßig nach ubuntu:neuestes Bild gesucht. In Fällen, in denen das Image in Ihrem lokalen System nicht verfügbar ist, wird es aus der Ubuntu-Bibliothek heruntergeladen und der Container wird mit diesem Image erstellt. Führen Sie dazu Folgendes aus:
docker run -it ubuntu bash
Schritt 10:Docker-Container auflisten
Um alle in diese Software eingebetteten Container aufzulisten, verwenden Sie den folgenden Befehl, um alle Container unabhängig von ihrem Status aufzulisten.
docker ps -a
Schritt 11:Docker-Container verwalten
Falls Sie einen Container initialisieren möchten, müssen Sie die folgende Syntax verwenden:
docker start <container_id>
Sie können beispielsweise einen Container mit der ID 5aa62402b888 für die von uns erstellte Ubuntu-Bash starten, wie im folgenden Schnappschuss gezeigt:
docker start 5aa62402b888
Führen Sie dann den Befehl ps aus, um den Status des Containers zu überprüfen
docker ps
Wenn Sie einen Container stoppen möchten, können Sie entsprechend die folgende Syntax verwenden:
docker stop <container_id>
Im Wesentlichen wollen wir den Ubuntu-Bash-Container mit der ID 5aa62402b888 stoppen. Hier führen wir die oben angegebene Syntax aus und ersetzen den Abschnitt
docker stop 5aa62402b888
Verwenden Sie dann wieder den Befehl ps, wie zuvor beschrieben, um den Status zu überprüfen:
docker ps
Wie Sie sehen können, läuft der Container mit der ID 5aa62402b888 nicht mehr.
Sie können das Bild auch mit der folgenden Bildsyntax löschen:
rm <container_id>
In diesem Fall entfernen wir den Container mit der ID 5aa62402b888 wie unten gezeigt:
docker rm 5aa62402b888
Überprüfen Sie nun die Liste der Bilder mit dem Befehl docker images, und Sie sollten sehen, dass der Container mit der ID 5aa62402b888 nicht mehr verfügbar ist:
docker images
Schritt 12:Bilder per Push in das Docker-Hub-Repository übertragen
In Fällen, in denen Sie Bilder in Repositories wie Docker Hub Repository speichern möchten, müssen Sie sich zuerst mit den Anmeldeinformationen Ihres Benutzerkontos bei diesem Repository anmelden. Wenn Sie kein Konto haben, können Sie sich hier anmelden. Melden Sie sich danach mit dem folgenden Befehl an:
docker login
Geben Sie anschließend Ihren Benutzernamen und Ihr Passwort ein und drücken Sie die Eingabetaste, um sich anzumelden. Zur Bestätigung einer erfolgreichen Anmeldung sollten Sie „Anmeldung erfolgreich“ sehen Nachricht ganz unten. Nachdem Sie sich erfolgreich angemeldet haben, können Sie nun Ihre Bilder mit der folgenden Syntax übertragen:
docker push <Image_name>
Beachten Sie unbedingt, dass Sie das Image möglicherweise markieren müssen, bevor Sie es in das Docker-Hub-Repository übertragen.
Schritt 13:Docker entfernen
Um die Docker-Engine aus dem System zu löschen, müssen wir die Docker-Engine-, CLI- und Containerd-Packer mit dem folgenden Befehl deinstallieren:
apt-get remove docker-ce docker-ce-cli containerd.io
Beachten Sie, dass Images, Container, Volumes oder angepasste Konfigurationsdateien auf Ihrem Host nicht spontan entfernt werden. Daher müssen Sie alle Images, Container und Volumes mit den folgenden Befehlen manuell löschen:
sudo rm -rf /var/lib/docker
Container entfernen mit:
sudo rm -rf /var/lib/containerd
Vorteile von Docker
Einer der entscheidenden Vorteile bei der Verwendung einer Open-Source-Projektsoftware wie Docker ist die Freiheit, die Technologie zu wählen, mit der Sie jede Aufgabe erledigen möchten. Docker eignet sich für Programmierer, die eine kleine, leichte und saubere Umgebung für Testzwecke benötigen und umfangreiche Verwaltung und Konfigurationen vermeiden möchten.
Die Software kann Code auch schnell testen, versenden und bereitstellen, wodurch die Verzögerung zwischen dem Schreiben des Codes und seiner Ausführung in einer Umgebung verringert wird.
Abschließende Gedanken
Docker ist eine Framework-Software zum schnellen Generieren, Testen und Entwickeln von Apps. Diese Software ordnet Apps oder Pakete in Containern an, einschließlich allem, was Ihre Anwendung zum Funktionieren benötigt, wie Systemtools, Laufzeit, Bibliotheken und Code. Mit Docker können Sie Anwendungen in jeder Umgebung umgehend bereitstellen und skalieren.
Dieser Artikel hat ausführlich behandelt, wie man Docker auf seinem Debian 11-System einrichten kann, vom grundlegenden Punkt bis zum komplexen Punkt der Deinstallation der Software. Neben der Installation haben wir Sie mit den grundlegenden Befehlen ausgestattet, die Ihnen bei Ihrer täglichen Arbeit mit dieser Software begegnen werden. Das ist es, Jungs. Wir wünschen Ihnen viel Spaß beim Lesen.