So verwenden Sie Docker-Container
Container sind das Lebenselixier jeder Docker-Installation. Sie dienen als Grundlage der Docker-Plattform und ermöglichen es Ihnen, Dienste auf Ihrem Computer auszuführen, ohne sich um Abhängigkeiten und Versionskonflikte sorgen zu müssen. Hier zeigen wir Ihnen die Grundlagen zum Erstellen, Verwalten und Anpassen von Docker-Containern mit dem Docker-CLI-Tool.
So finden und ziehen Sie ein Docker-Image
Docker-Container sind eine spezielle Art von Softwareumgebung, die es Ihnen ermöglicht, Programme getrennt vom Rest Ihres ursprünglichen Systems auszuführen. Um dies zu erreichen, verwendet Docker „Software-Images“. Dies sind statische Kopien von Programmen, die als Basis dienen, von der aus ein Container gestartet wird.
Diese Unterscheidung zwischen Image und Container ermöglicht es Ihnen, Ihre Software nach Bedarf neu zu erstellen und anzupassen. Sie können beispielsweise ein Image wie „httpd“ haben, daraus aber zwei verschiedene Container erstellen: „website1“ und „website2“.
Der einfachste Weg, ein neues Docker-Image anzuzeigen, ist die Verwendung des search
Unterbefehls:
Um das Image auf Ihr System herunterzuladen, führen Sie den folgenden Befehl aus:
Bestätigen Sie mit dem folgenden Unterbefehl, dass Sie das neue Image ordnungsgemäß zu Ihrem System hinzugefügt haben images
:
Erstellen eines neuen Images mit Dockerfiles
Sie können nicht nur vorgefertigte Images aus Docker Hub abrufen, sondern auch Images direkt aus der Docker-CLI erstellen. Dies ist nützlich, wenn Sie entweder benutzerdefinierte Versionen vorhandener Softwarepakete erstellen oder neue Apps auf Docker portieren möchten.
Erstellen Sie dazu zunächst einen Ordner in Ihrem Home-Verzeichnis für Ihre Build-Dateien:
Erstellen Sie mit Ihrem bevorzugten Texteditor eine neue Docker-Datei:
Fügen Sie die folgenden Codezeilen in Ihr neues Dockerfile ein:
Erstellen Sie einen Ordner „sample-site“ und kopieren Sie ihn hinein oder erstellen Sie eine einfache HTML-Site:
Speichern Sie Ihr neues Dockerfile und führen Sie dann den folgenden Befehl aus, um es auf Ihrem System zu erstellen:
Überprüfen Sie, ob Ihr neues Docker-Image in Ihrer Liste der Docker-Images vorhanden ist:
Erstellen eines neuen Images unter Verwendung vorhandener Container
Das Docker-CLI-Tool kann auch neue Images aus den Containern erstellen, die derzeit in Ihrem System vorhanden sind. Dies ist nützlich, wenn Sie bereits in einer vorhandenen Umgebung arbeiten und aus Ihrem aktuellen Setup ein neues Image erstellen möchten.
Stellen Sie dazu sicher, dass Ihr Container derzeit nicht ausgeführt wird:
Führen Sie den commit
Unterbefehl gefolgt vom Namen Ihres Containers aus und geben Sie anschließend den Namen Ihres neuen Docker-Images an:
Bestätigen Sie, dass Ihr neues Docker-Image in Ihrem System ist, indem Sie ausführen docker images
.
So führen Sie einen Docker-Container aus und stoppen ihn
Wenn Ihr Docker-Image fertig ist, können Sie es jetzt verwenden, um Ihren ersten Container zu erstellen. Verwenden Sie dazu den run
Unterbefehl gefolgt vom Namen des Images, das Sie ausführen möchten:
Dies funktioniert zwar für die Ausführung Ihres ersten Docker-Containers, aber wenn Sie es auf diese Weise tun, wird Ihre aktuelle Shell-Sitzung übernommen. Um Ihren Container im Hintergrund auszuführen, fügen Sie das -d
Flag nach dem run
Unterbefehl an:
Der run
Unterbefehl kann auch eine Reihe zusätzlicher Flags enthalten, die das Verhalten Ihres neuen Docker-Containers ändern können. Mit dem --name
Flag können Sie Ihrem Container beispielsweise einen anpassbaren Namen geben:
Andererseits können Sie das --publish
Flag verwenden, um den Netzwerkport umzuleiten, über den Sie auf Ihren Docker-Container zugreifen können. Dies ist vor allem dann nützlich, wenn Sie nicht möchten, dass Ihr Container einen privilegierten Port übernimmt:
Sie können alle aktuell ausgeführten Docker-Container in Ihrem System überprüfen, indem Sie den folgenden Befehl ausführen:
Ähnlich wie der run
Unterbefehl ps
kann auch dieser eine Handvoll Flags aufnehmen, die sein Verhalten ändern. Um beispielsweise die Container anzuzeigen, die derzeit nicht erreichbar sind, verwenden Sie das -a
Flag:
Um einen laufenden Container auszuschalten, verwenden Sie den stop
Unterbefehl, gefolgt von der Container-ID oder dem Namen Ihres Docker-Containers:
Sie können jeden Container, den Sie angehalten haben, neu starten, indem Sie den start
Unterbefehl erneut ausführen:
Anhalten und Beenden eines Docker-Containers
Mit dem Docker-CLI-Tool können Sie auch einen laufenden Containerprozess vorübergehend anhalten und beenden. Dies kann nützlich sein, wenn Sie ein Problem mit Ihrem Docker-Setup beheben und einen fehlerhaften Container isolieren oder stoppen möchten.
Beginnen Sie mit der Ausführung docker ps
, um alle laufenden Container im System aufzulisten.
Suchen Sie entweder die ID oder den Namen des Containers, den Sie verwalten möchten.
Führen Sie den pause
Unterbefehl gefolgt vom Namen des Containers aus, den Sie vorübergehend anhalten möchten:
Sie können einen angehaltenen Prozess fortsetzen, indem Sie den unpause
folgenden Unterbefehl ausführen:
Um einen fehlerhaften Prozess zu stoppen, führen Sie den kill
Unterbefehl gefolgt vom Namen Ihres Containers aus:
So überprüfen Sie einen Docker-Container
Die Kenntnis der komplizierten Details Ihres Containers ist ein wesentlicher Bestandteil der Aufrechterhaltung der Gesundheit Ihres Docker-Stacks. So können Sie potenzielle Probleme schnell erkennen und es kann den Unterschied ausmachen, ob Sie Ihre gesamte Bereitstellung reparieren oder neu durchführen müssen.
Um eine Übersicht über Ihren Docker-Container anzuzeigen, führen Sie den inspect
Unterbefehl aus:
Dadurch wird eine lange JSON-Zeichenfolge gedruckt, die den aktuellen Status Ihres gesamten Containers beschreibt. Sie können dies eingrenzen, indem Sie die Ausgabe entweder an jq weiterleiten oder das integrierte -f
Flag verwenden, gefolgt von dem JSON-Objekt, das Sie drucken möchten:
Drucken von Containerprotokollen an das Terminal
Darüber hinaus können Sie auch die Protokolle aller aktuell ausgeführten Docker-Container verfolgen und ausdrucken. Dies kann nützlich sein, wenn Sie überprüfen möchten, wie sich Ihr Dienst derzeit verhält, und sich die Ausgabe ansehen möchten, die er an STDOUT zurückgibt.
Führen Sie dazu den Unterbefehl „logs“ gefolgt vom Namen Ihres Containers aus:
Sie können auch den Unterbefehl logs mit dem --follow
Flag ausführen, um ein fortlaufendes Protokoll Ihres Docker-Dienstes zu erstellen. Dies ist vergleichbar mit der Ausführung tail -f
am Ende einer UNIX-Pipe:
Ähnlich wie bei anderen Unterbefehlen können Sie auch verschiedene Flags hinzufügen, um die Ausgabe des Protokolls Ihres Docker-Containers anzupassen. Das Flag fügt beispielsweise --timestamps
einen detaillierten Zeitstempel für jede Nachricht hinzu, die Ihr Container an seinen STDOUT sendet:
Das --details
Flag druckt sogar die Umgebungsvariablen, die Sie für Ihren aktuellen Docker-Container festgelegt haben. Gleichzeitig --since
können Sie mit dem Flag nur Protokolle anzeigen, die nach einem bestimmten Zeitpunkt erstellt wurden:
So passen Sie einen Docker-Container an
Im Kern ist ein Docker-Container eine kleine, abgespeckte Version von Linux, die auf Ihrem aktuellen System läuft. Das bedeutet, dass es ähnlich wie bei einer virtuellen Maschine möglich ist, auf die Daten in Ihrem Container zuzugreifen und diese abzurufen.
Um eine lokale Datei von Ihrem Hostcomputer in den Container zu kopieren, führen Sie den cp
Unterbefehl aus:
Manchmal müssen Sie auch in Container „einsteigen“, indem Sie darin eine Shell öffnen. Auf diese Weise können Sie Dateien bearbeiten, Binärdateien installieren und sie Ihren Anforderungen entsprechend anpassen:
Jetzt könnten Sie beispielsweise „index.html“ bearbeiten und darin eine Homepage für die Website erstellen.
Um die Container-Shell zu verlassen, drücken Sie entweder Ctrl+ Doder führen Sie es exit
im Terminal aus.
So löschen Sie Docker-Container und -Images
Das Entfernen nicht verwendeter Docker-Container und -Images ist ein wichtiger Teil der allgemeinen Ordnung Ihrer Bereitstellung. Auf diese Weise können Sie unnötige Dateien von Ihrem Server entfernen und auf lange Sicht Speicherplatz sparen.
Bevor Sie einen Container löschen, stellen Sie sicher, dass Sie ihn zuerst gestoppt haben:
Entfernen Sie nun den Container mit dem rm
Unterbefehl:
Bestätigen Sie, dass Sie Ihren alten Docker-Container ordnungsgemäß gelöscht haben, indem Sie ausführen docker ps -a
.
Löschen Sie Ihr ursprüngliches Docker-Image aus Ihrer Docker-Bereitstellung:
Überprüfen Sie, ob Sie Ihr ursprüngliches Docker-Image ordnungsgemäß entfernt haben, indem Sie ausführen docker images
.
Das Erstellen, Verwalten und Entfernen von Docker-Containern ist nur einer der vielen Dinge, die Sie mit Ihrem Linux-Server tun können.
Bildnachweis: Shamin Haky via Unsplash . Alle Änderungen und Screenshots von Ramces Red.
Schreibe einen Kommentar