Docker-Tutorial für Anfänger: Grundlagen, Architektur, Container
⚡ Intelligente Zusammenfassung
Docker ist eine Containerisierungsplattform, die Anwendungen und deren Abhängigkeiten in portable, schlanke Container verpackt. Diese Übersicht erklärt die Docker-Architektur und die Installation. Ubuntu, wichtige Befehle und wie sich Container von herkömmlichen virtuellen Maschinen unterscheiden, um eine schnellere Softwarebereitstellung zu ermöglichen.

Docker ist eine der beliebtesten Containerisierungsplattformen, die in modernen Umgebungen eingesetzt wird. DevOps und Cloud-Workflows. Dieses Docker-Tutorial für Anfänger erklärt, was Docker ist, wie die Docker-Architektur funktioniert und wie man Docker installiert. Ubuntuund die grundlegenden Befehle zur Verwaltung von Images und Containern.
Was ist Docker?
Docker Docker ist eine Softwareentwicklungsplattform für Virtualisierung, die es ermöglicht, mehrere Betriebssysteme auf demselben Host auszuführen. Sie hilft Ihnen, Infrastruktur und Anwendungen zu trennen und so Software schnell bereitzustellen. Im Gegensatz zu Hypervisoren, die zur Erstellung virtueller Maschinen (VMs) verwendet werden, virtualisiert Docker auf Systemebene mithilfe von Einheiten, die als Docker-Container bezeichnet werden.
Docker-Container laufen auf dem Host-Betriebssystem, wie in der Abbildung unten dargestellt. Dies verbessert sowohl die Effizienz als auch die Sicherheit. Außerdem können Sie auf derselben Infrastruktur mehr Container als virtuelle Maschinen ausführen, da Container weniger Ressourcen benötigen.

Im Gegensatz zu VMs, die direkt mit der Host-Hardware kommunizieren können (z. B. ein Ethernet-Adapter, der weitere virtuelle Adapter erzeugt), laufen Docker-Container in einer isolierten Umgebung auf dem Host-Betriebssystem. Selbst wenn Ihr Host läuft Windows, Du kannst rennen Linux Bilder in Containern mithilfe von Hyper-V, wodurch automatisch eine kleine VM erstellt wird, um das Basis-Image zu virtualisieren.
Nachdem Sie nun wissen, was Docker ist, wollen wir uns die Hauptgründe ansehen, warum Teams sich dafür entscheiden.
Warum Docker verwenden?
Hier sind die wichtigsten Gründe für die Verwendung von Docker:
- Docker ist eine Software zur Virtualisierung, die es ermöglicht, mehrere gleichzeitige Anwendungen zu erstellen. Betriebssysteme auf demselben Host auszuführen.
- Docker ist eine Client-Server-Anwendung, das heißt, Clients kommunizieren mit einem Server.
- Docker-Images fungieren als „Quellcode“ für Container; man verwendet sie zum Erstellen von Containern.
- Docker unterstützt zwei Arten von Registries: öffentliche und private.
- Container sind die Organisationseinheiten von Docker. Vereinfacht gesagt ist ein Image eine Vorlage und ein Container eine Kopie dieser Vorlage, sodass Sie mehrere Container vom selben Image ausführen können.
Diese Vorteile ergeben sich aus der Architektur von Docker. Im Folgenden werden die Docker-Architektur und ihre Kernkomponenten detailliert erläutert.
Docker Architektur
In diesem Docker-Container-Tutorial wollen wir uns nun die Hauptkomponenten der Docker-Architektur ansehen.
Docker-Engine
Docker ist eine Client-Server-Anwendung. Das bedeutet, dass Clients Anfragen an einen Server weiterleiten. Der Docker-Daemon, genannt dockerd, ist die Docker-Engine, die den Server repräsentiert. Daemon und Clients können auf demselben oder einem entfernten Host ausgeführt werden und kommunizieren über eine Kommandozeilen-Client-Anwendung und eine vollständige Docker-Datei. REST-konforme API das mit dockerd interagiert.
Docker-Images
Docker-Images sind der „Quellcode“ für unsere Container; wir verwenden sie, um Container zu erstellen. Images können Software vorinstalliert enthalten, was die Bereitstellung beschleunigt. Sie sind portabel, und Sie können bestehende Images verwenden oder eigene erstellen.
Docker-Register
Docker speichert die von uns erstellten Images in Registries. Es gibt öffentliche und private Registries. Docker verfügt über eine öffentliche Registry namens Docker-HubDort können Sie auch Bilder privat speichern. Docker Hub bietet Millionen von Bildern, die Sie sofort verwenden können.
Docker Container
Container sind die Organisationseinheiten von Docker und eines seiner Grundkonzepte. Wenn wir ein Image erstellen und ausführen, läuft es innerhalb eines Containers. Die Analogie zum Container wird aufgrund der Portabilität der darin laufenden Software verwendet: Sie lässt sich verschieben, „transportieren“, modifizieren, verwalten, erstellen oder löschen, genau wie Frachtschiffe echte Container transportieren.
Vereinfacht ausgedrückt ist ein Bild eine Vorlage und ein Container eine Kopie dieser Vorlage. Sie können mehrere Container (Kopien) desselben Bildes haben.
Das Zusammenspiel dieser verschiedenen Komponenten veranschaulicht die Funktionsweise der Docker-Containertechnologie. Befehle wie `docker pull` und `docker run`, die wir später behandeln, ermöglichen die Steuerung dieses Workflows.
Mit Blick auf die Architektur installieren wir nun Docker, damit Sie diese Komponenten selbst ausprobieren können.
So installieren Sie Docker unter Linux/Ubuntu
Nachfolgend finden Sie eine schrittweise Anleitung zur Docker-Installation unter Linux/Ubuntu:
Schritt 1) Zur Installation von Docker benötigen Sie die DEB-Pakete des Docker-Teams. Zunächst einige Voraussetzungen Ubuntu Es werden Pakete benötigt. Verwenden Sie den folgenden Befehl, um sie zu installieren.
$ sudo apt-get install \ apt-transport-https \ ca-certificates curl \ software-properties-common
*Das Zeichen „\“ ist nicht erforderlich, es wird für die neue Zeile verwendet. Wenn Sie möchten, können Sie den Befehl auch ohne die Verwendung von „\“ in nur einer Zeile schreiben.
Schritt 2) Fügen Sie den offiziellen Docker-GPG-Schlüssel mit dem Fingerabdruck hinzu. Verwenden Sie den folgenden Docker-Befehl, um den GPG-Schlüssel einzugeben.
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Schritt 3) Fügen Sie als Nächstes das Docker APT-Repository mit dem folgenden Befehl hinzu.
$ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
Möglicherweise werden Sie aufgefordert, die Hinzufügung des Repositorys und die automatische Hinzufügung des GPG-Schlüssels zu Ihrem Host zu bestätigen. Der Befehl `lsb_release` sollte die entsprechenden Felder ausfüllen. Ubuntu Distributionsversion Ihres Hosts.
Schritt 4) Nach dem Hinzufügen des GPG-Schlüssels aktualisieren Sie die APT-Quellen mit dem folgenden Docker-Befehl.
$ sudo apt-get update
Sie können nun das Docker-Paket selbst installieren.
Schritt 5) Sobald die APT-Quellen aktualisiert sind, beginnen Sie mit der Installation der Docker-Pakete auf Ubuntu mit dem folgenden Docker-Befehl.
$ sudo apt-get install docker-ce
Der obige Befehl installiert Docker und weitere benötigte Pakete. Vor Docker 1.8.0 hieß das Paket lxc-docker, und zwischen Docker 1.8 und 1.13 hieß es docker-engine.
Anmerkungen: Docker für Windows erfordert Windows 10 Pro oder Enterprise Version 14393, oder Windows Server 2016 RTM, zum Ausführen.
So verwenden Sie Docker mit grundlegenden Docker-Befehlen
Hier erfahren Sie, wie Sie Docker mit einigen grundlegenden Docker-Befehlen verwenden.
Der grundlegendste Befehl, den Sie nach der Installation von Docker ausführen sollten, ist, wie bereits erwähnt, docker info.
$ sudo docker info
Sie sollten ein Ergebnis erhalten, das in etwa dem folgenden entspricht.
Wie im obigen Docker-Beispiel gezeigt, können wir Informationen über Docker-Container einsehen: wie viele laufen, pausiert oder gestoppt sind und wie viele Images heruntergeladen wurden. Laden wir nun unser erstes Image herunter.
$ sudo docker pull alpine
Mit diesem Befehl weisen wir Docker an, das Image alpine herunterzuladen und es aus der öffentlichen Registry in der standardmäßig eingestellten neuesten Version zu beziehen.
*alpine ist ein minimales Docker-Image auf Basis von Alpine Linux mit vollständigem Paketindex und nur 5 MB Größe.
Wenn wir das Image als Container ausführen möchten, verwenden wir den folgenden Befehl.
$ sudo docker run -i -t alpine /bin/bash
Der Befehl führt uns direkt zum Alpine-Terminal. Die Option `-i` hält die Standardeingabe (STDIN) des Containers geöffnet, auch wenn Sie nicht mit ihm verbunden sind. Diese permanente Standardeingabe ist die eine Hälfte dessen, was für eine interaktive Shell benötigt wird. Die Option `-t` ist die andere Hälfte und weist Docker an, dem Container ein Pseudo-TTY zuzuweisen. Zusammen ermöglichen sie uns eine interaktive Shell im neuen Container. Wir beenden den Container mit dem einfachen Befehl `exit`.
In diesem Docker-Grundlagen-Tutorial können wir nun versuchen, Folgendes auszuführen: Ubuntu Bild.
$ sudo docker run -it ubuntu /bin/bash
Docker prüft, ob das Image lokal vorhanden ist. Falls nicht, wird es automatisch aus der Image-Bibliothek heruntergeladen. Wir haben also wieder eine interaktive Shell geöffnet. Container können wir beim Start auch benennen.
$ sudo docker run –-name our_container -it ubuntu /bin/bash
Dann beenden wir das Programm wieder. Wir können einen zuvor erstellten Container auch ohne interaktive Shell ausführen.
$ sudo docker start container_name
Und wir stoppen den Container, indem wir docker stop container_name eingeben.
$ sudo docker stop container_name
Um alle laufenden Container anzuzeigen, führen wir einfach folgenden Befehl aus.
$ docker ps
Für alle Container fügen wir am Ende desselben Befehls „-a“ hinzu, z. B. docker ps -a. Dieser Befehl zeigt die Container-ID, das verwendete Image, das Erstellungsdatum, den Ausführungsstatus, die freigegebenen Ports und einen zufällig generierten Namen zur einfacheren Verwaltung an.
Wenn wir Container ausführen, möchten wir oft wissen, wie viele Ressourcen sie verbrauchen. Zu diesem Zweck können wir den folgenden Befehl verwenden.
$ docker stats
Sie können auch sehen, welche Bilder Sie lokal heruntergeladen haben, sowie Informationen darüber.
$ sudo docker images
Der Befehl im obigen Docker-Beispiel zeigt jedes Docker-Image mit einem Tag an, der die Image-Version, eine eindeutige Image-ID, das Erstellungsdatum und die Image-Größe angibt.
Um zu verstehen, warum Container eine so große Verbesserung darstellen, hilft es, sich anzusehen, wie sich die Virtualisierung entwickelt hat.
Was ist Virtualisierung?
Früher war die Bereitstellung eines Dienstes langsam und mühsam. Entwickler schrieben Code, und das Betriebsteam installierte ihn anschließend auf den physischen Servern. Dabei mussten sie Bibliotheksversionen, Patches und Compiler im Auge behalten, damit der Code funktionierte. Traten Fehler auf, begann der Prozess von Neuem: Die Entwickler behoben das Problem, und das Betriebsteam stellte den Dienst erneut bereit.
Mit der Entwicklung von Hypervisoren verbesserte sich die Situation. Hypervisoren führen mehrere Prozesse gleichzeitig aus. virtuelle Maschinenoder VMs auf demselben Host, die laufen oder ausgeschaltet sein können. VMs reduzierten die Wartezeit für die Codebereitstellung und Fehlerbehebung erheblich, aber der eigentliche Durchbruch gelang mit Docker-Containern.
Die Popularität von Docker wird auch durch Orchestrierungstools vorangetrieben, die Container in großem Umfang verwalten, wie zum Beispiel KubernetesBevor wir fortfahren, hier eine kurze Übersicht der wichtigsten Docker-Befehle.
Wichtige Docker-Befehle
Nachfolgend sind die wichtigen Docker-Befehle aufgeführt:
| Befehl | Beschreibung |
|---|---|
| Dockerinfo | Informationskommando |
| Docker ziehen | Laden Sie ein Bild herunter |
| Docker run -i -t Bildname /bin/bash | Image als Container ausführen |
| Docker startet unseren_Container | Container starten |
| Docker stoppt Containername | Behälter stoppen |
| Docker ps | Liste aller laufenden Container |
| Docker-Statistiken | Containerinformationen |
| Andockbilder | Liste der heruntergeladenen Bilder |
| Docker-Bereinigung | Töte alle laufenden Container. |
Lesen Sie auch diese Texte. Fragen und Antworten zum Docker-Vorstellungsgespräch sowohl für Berufsanfänger als auch für erfahrene Fachkräfte.

