GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verwalten Sie Docker-Container

Docker ist eine Softwareplattform, die entwickelt wurde, um die Bereitstellung von Anwendungen basierend auf dem Konzept von Containern zu erleichtern. Die Plattform kann verwendet werden, um Anwendungen zu erstellen, zu testen und zu verteilen, indem sie in standardisierten Einheiten, den so genannten „Containern“, gesammelt werden.

Docker-Container können als isolierte Umgebungen angesehen werden, in denen Anwendungen ohne Beeinträchtigung durch andere ausgeführt werden können Prozesse. Ähnlich wie bei virtuellen Maschinen werden jedem Container bestimmte Rechenressourcen zugewiesen. Im Gegensatz zu virtuellen Maschinen benötigt Docker keine Hardware-Emulation, sondern verwendet die physische Hardware des Hosts für jeden Container.

Ressourceneffizient und in der Lage, eine verbesserte Systemleistung zu generieren, kann die Containerisierung als die natürliche Weiterentwicklung der Virtualisierung angesehen werden. Darüber hinaus vereinfachen Container, da sie alles enthalten, was für die korrekte Ausführung der Anwendungen erforderlich ist – einschließlich Bibliotheken, Systemtools und Codes – die Bereitstellung einer Anwendung, ohne dass Sie sich um die Konfiguration der Laufzeitumgebung kümmern müssen.

In diesem Tutorial erfahren Sie, wie Sie Docker-Container unter Linux am besten verwalten, Images von Docker Hub herunterladen, einen neuen Container erstellen und ein Image davon speichern.

Wenn die Docker-Plattform nicht auf Ihrem System vorhanden ist, wird empfohlen, unserer Anleitung zur Installation von Docker unter Ubuntu 18.04 zu folgen.

Herunterladen von Bildern

Container werden aus Bildern erstellt. Standardmäßig werden diese Images von Docker Hub heruntergeladen, einer Registrierung offizieller Images, die vom Unternehmen bereitgestellt wird.

Jeder kann seine Bilder auf Docker Hub hosten. Dies ermöglicht die Verwendung vorgefertigter Bilder als Grundlage für Ihre Anwendungen.

Versuchen Sie, den Befehl auszuführen:

$ docker run centos

Docker sucht nach dem "centos"-Image in der lokalen Registrierung. Wenn es nicht gefunden wird (da es noch nicht heruntergeladen wurde), lädt Docker es von Docker Hub herunter und erstellt den Container mit diesem Image.

Das verwendete Bild liefert keine visuelle Ausgabe, aber Sie können sehen, wie der Container mit dem Befehl läuft:

$ docker ps

um alle bestehenden Container zu sehen, sowohl laufende als auch gestoppte:

$ docker ps -a

Um die Liste der heruntergeladenen Bilder anzuzeigen, geben Sie Folgendes ein:

$ docker images

Container bauen

Container ähneln virtuellen Maschinen und sind weniger ressourcenintensiv.

Versuchen Sie, eines mit dem zuvor heruntergeladenen Centos-Image zu erstellen:

$ docker run -it centos

Der Schalter "-it" ermöglicht den Zugriff auf die Shell innerhalb des Containers. Die angezeigte Shell ist nicht die Ihres Betriebssystems, sondern des Containers:Alle Befehle werden auf der Shell des im Container vorhandenen Betriebssystems (in diesem Fall Ubuntu) und nicht auf der Shell des Hosts ausgeführt.

Um die Container-Shell zu verlassen und zur Host-Shell zurückzukehren, geben Sie Folgendes ein:

$ exit

Um einen Container zu starten, zu stoppen oder zu löschen:

$ docker start ID_or_container_name
$ docker stop ID_or_container_name
$ docker rm ID_or_container_name

Bevor ein Container gestartet oder gelöscht wird, muss er sich in einem "Stop"-Zustand befinden.
Bevor ein Container blockiert wird, muss er sich in einem "Run"-Zustand befinden.

Container sind isolierte Umgebungen und daher per Definition "geschlossen". Um mit ihrem "Inhalt" zu interagieren, ordnen Sie einen Kommunikationsport zu.

$ docker run -p 8081:80 -d nginx
  • „docker run“:Befehl zum Starten des Containers.

  • “-p 8081:80”:macht den Container-Port 80 auf Port 8081 des Hosts verfügbar.

    • Wenn es sich um einen Container handelt, der einen WebServer hostet, greifen Sie über „localhost:8081“ darauf zu.

  • “-d”:führt den Container im Hintergrund aus.

  • “nginx”:Bild, das zum Erstellen des Containers verwendet wird.

    • Wenn das Bild nicht lokal vorhanden ist, wird es von Docker Hub heruntergeladen.

Container-Images erstellen

Nachdem der Container und die notwendigen "Anpassungen" vorgenommen wurden, empfiehlt sich die Erstellung des relativen Images:Alles, was in den Container eingefügt wird (Installation zusätzlicher Module oder andere Anpassungen), bleibt im Container und nicht in das für den Build verwendete Image. Wenn der Container entfernt und neu erstellt wird, zeigt er keine der bis zu diesem Zeitpunkt vorgenommenen Änderungen an.

Angenommen, Sie haben einen Container mit dem CentOS-Image erstellt und Nginx installiert. Wenn Sie den Container entfernen und mit dem Ubuntu-Image neu erstellen, haben Sie Nginx nicht im Container, da das verwendete Image es nicht enthält.

Um das Image eines Containers zu generieren (und ein Backup zu haben, um den Container mit denselben Bedingungen neu zu erstellen), führen Sie den Befehl aus:

$ docker commit -m "List of changes made" -a "User name" container_id repository/image_name
  • "-m" wird verwendet, um die Liste der Änderungen zu schreiben, um ein Protokoll zu erhalten, auf das verwiesen wird

  • "-a" wird verwendet, um den Namen des Benutzers anzugeben, der das Bild generiert

Dieser Befehl speichert das Image in der lokalen Registrierung (sichtbar über Docker-Images).

Das Bild kann auch auf Docker Hub gespeichert werden. Dazu authentifizieren Sie sich zuerst bei Docker Hub, indem Sie Docker (von der Shell) verwenden, indem Sie Folgendes eingeben:

$ docker login -u username
  • Sie werden aufgefordert, das Passwort für die Authentifizierung bei Docker Hub einzugeben

$ docker push username/image_name

Linux
  1. So teilen Sie Daten zwischen Docker-Containern

  2. So listen Sie Docker-Container auf

  3. So beenden Sie einen Docker-Container

  4. So sichern und wiederherstellen Sie Docker-Container

  5. So entfernen Sie alle Docker-Container

So führen Sie SSH in Docker-Container ein [Schritt für Schritt]

So führen Sie Docker-Container aus

So entfernen Sie Docker-Container

So stoppen Sie Docker-Container

So benennen oder umbenennen Sie Docker-Container

So führen Sie SSH in einen Docker-Container ein