GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Docker

Die nützlichsten [Docker]-Befehle, die jeder kennen sollte [Beispiele]

Dieses Tutorial setzt die Docker-bezogene Artikelserie fort und behandelt die am häufigsten verwendeten Docker-Befehle. Wir beginnen mit einer kurzen Docker-Übersicht und springen dann zur Installation von Docker auf Ihrem Server. Als Nächstes führen wir Sie durch alle erforderlichen Befehle zum Verwalten von Docker-Containern, -Images und -Volumes. Werden Sie ein professioneller Docker-Benutzer, indem Sie dieser Anleitung in 10 Minuten folgen.

Was ist Docker

Docker ist eine offene Plattform zum Entwickeln, Versenden und Ausführen von Anwendungen. Es ist de facto der Standard für das Packen und Teilen von Apps – vom Desktop bis zur Cloud.

Um sein Ziel zu erreichen, verwendet Docker Container.

Der Container hat die folgenden Eigenschaften:

  • Ein Container ist ein Paket für die Software und alle erforderlichen Bibliotheken.
  • Sobald ein Container gestartet wird, bestimmt er eine Laufzeitumgebung für Ihre Anwendung.
  • Ein Container ist leichter als eine virtuelle Maschine, sodass er viel schneller gestartet werden kann.
  • Ein Container wird in Form eines Images verteilt, das aus mehreren Schichten besteht. Mehrere Container können diese Ebenen wiederverwenden.

Mit den oben genannten Funktionen können Sie:

  • Erstellen Sie isolierte Umgebungen für die Bereitstellung.
  • Starten Sie Ihre Anwendungen in wenigen Minuten.

Docker hilft Ihnen, jeden Schritt des Softwareentwicklungsprozesses zu vereinfachen und zu automatisieren.

Hier sind die wesentlichen Docker-Funktionen:

  • Docker hat eine riesige Community.
  • Docker ist eine einfache und leichtgewichtige Möglichkeit, Software zu verteilen.
  • Docker verfügt über ein riesiges öffentliches Repository mit Containern für alle möglichen Zwecke.
  • Docker senkt die Entwicklungs- und Betriebskosten.
  • Die Docker-Konfiguration ist einfach und schnell.
  • Docker bietet Anwendungsisolierung.
  • Docker-Image hat Ebenen, die Versionskontrolle haben.
  • Docker automatisiert jeden Schritt der Containerverwaltung.

Sie können Docker auf Linux-, macOS- und Windows-Betriebssystemen installieren.

Installieren Sie Docker

In diesem Abschnitt wird beschrieben, wie Sie das Paket Docker CE (Community Edition) auf einem Linux-Betriebssystem installieren.

Wenn Sie die AWS-Cloud verwenden, empfehle ich einen Artikel über die automatische Installation von Docker auf der EC2-Instanz mit CloudFormation.

Installieren Sie Docker auf Ubuntu/Debian

Standardmäßig enthält das Standard-Repository von Ubuntu oder Debian nicht die neueste Version des Docker CE-Pakets. Sie müssen also das offizielle Docker CE-Repository zu Ihrem System hinzufügen.

Installieren Sie vor dem Hinzufügen des Repositorys einige erforderliche Abhängigkeiten, indem Sie den folgenden Befehl ausführen:

apt-get install apt-transport-https ca-certificates curl software-properties-common curl -y

Importieren Sie nach der Installation aller Abhängigkeiten den Docker-GPG-Schlüssel mit dem folgenden Befehl:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -

Fügen Sie als Nächstes das offizielle Docker CE-Repository mit dem folgenden Befehl zur APT-Quelldatei hinzu:

add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu  $(lsb_release -cs)  stable"

Nachdem das Repository hinzugefügt wurde, müssen Sie den Repository-Cache aktualisieren. Sie können es mit dem folgenden Befehl aktualisieren:

apt-get update -y

Sobald Ihr Repository auf dem neuesten Stand ist, führen Sie den folgenden Befehl aus, um die neueste Version von Docker CE auf Ihrem System zu installieren.

apt-get install docker-ce -y

Der obige Befehl installiert das Docker CE-Paket in Ihrem System und startet den Dienst automatisch.

Sie können die installierte Version von Docker CE überprüfen, indem Sie den folgenden Befehl ausführen:

docker --version

Sie sollten die Docker-Version in der folgenden Ausgabe sehen:

Docker version 19.03.13, build 4484c46d9d

Wenn Sie das Docker-Paket von Ihrem System entfernen möchten, führen Sie den folgenden Befehl aus:

apt-get remove docker-ce

Installieren Sie Docker auf CentOS/RHEL

Für CentOS- oder RHEL-Betriebssysteme müssen Sie das Docker CE-Repo in Ihrem System installieren. Sie können den DNF-Befehl verwenden, um das Docker CE-Repository wie unten gezeigt hinzuzufügen und zu aktivieren:

dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

Sobald das Docker CE-Repository hinzugefügt wurde, können Sie alle verfügbaren Versionen von Docker CE auflisten, indem Sie den folgenden Befehl ausführen:

dnf list docker-ce --showduplicates | sort -r

Sie sollten die vollständige Liste in der folgenden Ausgabe erhalten:

docker-ce.x86_64                3:19.03.13-3.el8                docker-ce-stable
Docker CE Stable - x86_64                        54 kB/s | 3.8 kB     00:00
CentOS-8 - Extras                                14 kB/s | 8.1 kB     00:00
CentOS-8 - Base                                 4.6 MB/s | 2.2 MB     00:00
CentOS-8 - AppStream                            4.7 MB/s | 5.8 MB     00:01
Available Packages

Installieren Sie als Nächstes die neueste Version von Docker CE, indem Sie den folgenden Befehl ausführen:

dnf install docker-ce --nobest

Überprüfen Sie nach der Installation von Docker die installierte Version mit dem folgenden Befehl:

docker --version

Sie sollten die folgende Ausgabe erhalten:

Docker version 19.03.13, build 4484c46d9d

Führen Sie den folgenden Befehl aus, um den Docker-Dienst zu starten:

systemctl start docker

Führen Sie den folgenden Befehl aus, um den Docker-Dienst zu stoppen:

systemctl stop docker

Sie können auch den folgenden Befehl ausführen, um weitere Informationen zu Docker anzuzeigen:

docker info

Sie sollten die folgende Ausgabe sehen:

Wenn Sie das Docker-Paket von Ihrem System entfernen möchten, führen Sie den folgenden Befehl aus:

dnf remove docker-ce

Container mit Docker verwalten

Der docker container Der Befehl wird verwendet, um den Lebenszyklus des Containers zu verwalten. Wenn Sie nicht über das Image zum Ausführen des Containers verfügen, wechselt Docker zur Registrierung und lädt es herunter.

Docker-Container ausführen

Verwenden Sie die folgende Syntax, um das Image aus der Docker-Registrierung herunterzuladen und einen Container zu erstellen.

docker container run [your-image-name]

Führen Sie beispielsweise den folgenden Befehl aus, um einen Apache-Webserver-Container zu erstellen:

docker container run httpd

Sie sollten die folgende Ausgabe erhalten:

Sie können die Option --rm verwenden mit dem Docker-Ausführungsbefehl, um einen Container nach dem Beenden zu entfernen.

docker container run --rm httpd

Mit Docker-Container-Shell verbinden

Sie können die Option -it verwenden mit dem Docker-Run-Befehl, um den Apache-Container zu erstellen und zu starten und ihn an die interaktive Bash-Shell anzuhängen.

docker container run -it httpd /bin/bash

Sie sollten die folgende Ausgabe erhalten:

Starten Sie den Docker-Container im Hintergrund

Sie können jetzt jeden Befehl innerhalb des Containers ausführen.

Sie können die Option -td verwenden mit dem Docker-Befehl run, um den Apache-Container zu erstellen, zu starten und am Laufen zu halten.

docker container run -td httpd

Sie sollten die folgende Ausgabe erhalten:

Docker-Containernamen einrichten

Sie können die Option --name verwenden mit dem Docker-Ausführungsbefehl, um einen Containernamen mit der folgenden Syntax zuzuweisen:

docker container run --name [container-name] -td [image-name]

Erstellen Sie beispielsweise einen neuen Container aus dem Apache-Image und weisen Sie ihm einen Namen apacheweb zu mit folgendem Befehl:

docker container run --name apacheweb -td httpd

Docker-Container an den spezifischen Port binden

Wenn Sie auf den Containerprozess des externen Computers zugreifen möchten, können Sie einen Containerport für das externe Netzwerk verfügbar machen.

In diesem Fall können Sie die Option -p verwenden mit dem Docker-Befehl, um den spezifischen Port wie unten gezeigt verfügbar zu machen:

docker container run -p [host-port]:[container-port] --name [container-name] -dit [image-name]

Erstellen Sie beispielsweise einen Apache-Webserver-Container und stellen Sie den Container-Port 80 für Port 8080 bereit mit folgendem Befehl:

docker container run -p 8080:80 --name apacheweb -dt httpd

Sie können jetzt über die URL http://localhost:8080 auf den im Container ausgeführten Apache-Webserver zugreifen .

Alle Docker-Container auflisten

Um alle laufenden und gestoppten Container in Ihrem System aufzulisten, führen Sie den folgenden Befehl aus:

docker ps -a

Sie sollten alle Container in der folgenden Ausgabe sehen:

Führen Sie den folgenden Befehl aus, um nur laufende Container in Ihrem System aufzulisten:

docker ps

Sie können den Container auch mit dem folgenden Befehl auflisten:

docker container ls

Docker-Container-Statistiken anzeigen

Um die Live-Statistiken des laufenden Containers (CPU- und Speicherauslastung, Netzwerk- und Festplatten-E/A) mit dem Namen apacheweb anzuzeigen , führen Sie den folgenden Befehl aus:

docker stats apacheweb

Sie sollten die folgende Ausgabe sehen:

Alle Docker-Container-Prozesse anzeigen

Zum Auflisten aller laufenden Prozesse innerhalb des laufenden Containers mit dem Namen Apacheweb , führen Sie den folgenden Befehl aus:

docker top apacheweb

Sie sollten die folgende Ausgabe sehen:

Docker-Container-Protokolle anzeigen

Zum Anzeigen der Protokolle des laufenden Containers mit dem Namen Apacheweb , führen Sie den folgenden Befehl aus:

docker logs apacheweb

Sie sollten die folgende Ausgabe sehen:

Starten, Stoppen und Anhalten des Docker-Containers

Um den laufenden Container mit dem Namen Apacheweb zu stoppen , führen Sie den folgenden Befehl aus:

docker container stop apacheweb

Zum Starten des Containers mit dem Namen Apacheweb , führen Sie den folgenden Befehl aus:

docker container start apacheweb

Um den Container mit dem Namen Apacheweb anzuhalten , führen Sie den folgenden Befehl aus:

docker container pause apacheweb

Starten Sie den Docker-Container neu oder beenden Sie ihn

Um den laufenden Container mit dem Namen Apacheweb neu zu starten , führen Sie den folgenden Befehl aus:

docker container restart apacheweb

Um den laufenden Container mit dem Namen Apacheweb zu beenden , führen Sie den folgenden Befehl aus:

docker container kill apacheweb

An bereits laufenden Docker-Container anhängen

Um eine Verbindung zum laufenden Container herzustellen, führen Sie den folgenden Befehl aus:

docker container exec -it apacheweb /bin/bash

Um einen beliebigen Befehl innerhalb des laufenden Containers auszuführen, führen Sie den folgenden Befehl aus:

docker container exec -it apacheweb ls

Docker-Images verwalten

In diesem Abschnitt zeigen wir Ihnen einige am häufigsten verwendete Befehle zum Verwalten des Docker-Images.

Docker-Image aus der Registry herunterladen

Um das Image aus der Docker-Registrierung herunterzuladen oder abzurufen, verwenden Sie die folgende Syntax:

docker pull [image-name]

Beispielsweise können Sie das Nginx-Webserver-Image mit dem folgenden Befehl aus der Docker-Registrierung abrufen:

docker pull nginx

Sie sollten die folgende Ausgabe erhalten:

Docker-Image in die Registry hochladen

Wenn Sie ein vorhandenes Image in die Docker-Registrierung hochladen möchten, verwenden Sie die folgende Syntax:

docker push [image-name]

Melden Sie sich bei Docker The Registry an

Zuerst müssen Sie sich mit dem folgenden Befehl bei der Docker-Registrierung anmelden:

docker login

Führen Sie nach der Anmeldung den folgenden Befehl aus, um die ID des Nginx-Images abzurufen, und markieren Sie das Image mit dem folgenden Befehl:

docker images

Ausgabe:

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              f35646e83998        3 weeks ago         133MB
httpd               latest              3dd970e6b110        3 weeks ago         138MB

Tag zu Docker-Image hinzufügen

Markieren Sie als Nächstes das Bild mit dem folgenden Befehl:

docker tag f35646e83998 amaksimov/nginx

Wo:

  • f35646e83998 ist die Bild-ID amaksimov ist der Name der Docker-Registrierung und nginx ist der Name des Bildes.

Als nächstes übertragen Sie das Nginx-Image mit dem folgenden Befehl in die Docker-Registrierung:

docker push amaksimov/nginx

Sie sollten die folgende Ausgabe sehen:

Docker-Image aus laufendem Container erstellen

Sie können auch ein Image aus einem vorhandenen Container erstellen, indem Sie die folgende Syntax verwenden:

docker commit [container-name] [new-image-name]

Um beispielsweise ein Image aus dem Apache-Container zu erstellen, führen Sie den folgenden Befehl aus:

docker commit apacheweb apache-image

Um Ihr vorhandenes Bild im tar-Archiv zu speichern, führen Sie den folgenden Befehl aus:

docker save apache-image > apache-image.tar

Geschichte des Docker-Images

Sie können den Verlauf eines beliebigen Docker-Images mit dem folgenden Befehl drucken:

docker history apache-image

Sie sollten die folgende Ausgabe erhalten:

Docker-Image löschen

Sie können jedes Docker-Image mit der folgenden Syntax entfernen:

docker rmi [image-name]

Wenn Sie beispielsweise das Apache-Image entfernen möchten, müssen Sie den Container stoppen, der httpd verwendet Bild:

docker container stop apacheweb
docker rm apacheweb

Zuerst müssen wir apache-image löschen Bild:

docker rmi apache-image

Erst danach entfernen wir den httpd Bild mit dem folgenden Befehl:

docker rmi httpd

Im Laufe der Zeit können manuell erstellte Images und Container einiges an Chaos auf Ihrem Server anrichten. Bitte werfen Sie einen Blick auf unsere Docker-FAQ, um herauszufinden, wie Sie alles bereinigen können.

Docker-Volumes verwalten

Wenn Sie einen neuen Container erstellen, einige Daten speichern und den Container löschen, gehen Daten verloren. In diesem Fall können Sie auf dem Hostsystem ein Volume erstellen und einen Container mit diesem Volume starten. Nach dem Löschen des Containers können Sie die Daten vom Volume abrufen. Sie können das Docker-Volume auch verwenden, um die Daten zwischen mehreren Containern zu teilen.

In diesem Abschnitt verwenden wir einige am häufigsten verwendete docker volume Befehle mit Beispielen.

Docker-Volume erstellen

So erstellen Sie ein neues Volume mit dem Namen datavolume mit folgendem Befehl:

docker volume create datavolume

Alle Docker-Volumes auflisten

Führen Sie den folgenden Befehl aus, um Ihr erstelltes Volume aufzulisten:

docker volume ls

Sie sollten die folgende Ausgabe sehen:

Führen Sie den folgenden Befehl aus, um weitere Informationen zum Volumen zu drucken:

docker inspect datavolume

Sie sollten die folgende Ausgabe sehen:

Volume in Docker-Container mounten

Führen Sie den folgenden Befehl aus, um einen neuen Container mit dem Namen Apacheweb zu erstellen und das Datenvolume auf dem Hostsystem in das Verzeichnis /mnt des Containers einzuhängen:

docker run -it --name apacheweb1  --mount source=datavolume,destination=/mnt -td httpd

Remote-Docker-Volume

Führen Sie den folgenden Befehl aus, um das Volume zu entfernen:

docker volume rm datavolume

Docker-FAQ

So löschen Sie nicht verwendete Docker-Images

Um alle ungenutzten Docker-Images zu löschen, müssen Sie den folgenden Befehl ausführen:

docker rmi $(docker images -a -q)

So entfernen Sie alle beendeten Docker-Container

Alle beendeten Docker-Container können durch Ausführen des folgenden Befehls entfernt werden:

docker rm $(docker ps -a -f status=exited -q)

So stoppen und entfernen Sie alle Docker-Container

Um alle Docker-Container zu stoppen, müssen Sie Folgendes ausführen:

docker stop $(docker ps -a -q)

Um alle angehaltenen Docker-Container zu löschen, müssen Sie Folgendes ausführen:

docker rm $(docker ps -a -q)

So löschen Sie alle nicht verwendeten Docker-Images, Container, Volumes, Netzwerke

Um alle ungenutzten Docker-Ressourcen zu löschen, können Sie den folgenden Befehl verwenden:

docker system prune

Führen Sie den folgenden Befehl aus, um alle Docker-Ressourcen vollständig zu löschen (verwendet und nicht verwendet):

docker system prune -a

Zusammenfassung

In der obigen Anleitung haben Sie die am häufigsten verwendeten Docker-Befehle und ihre Verwendung anhand von Beispielen kennengelernt. Ich hoffe, dies hilft Ihnen bei der Durchführung alltäglicher Aufgaben.


Docker
  1. 30 Dinge, die Sie nicht über den Linux-Kernel wussten

  2. 10 Befehle, die jeder Linux-Benutzer kennen sollte

  3. Einige DOCKER-Befehle

  4. Die 10 nützlichsten Ubuntu-Linux-Befehle

  5. Nützliche Beispiele für den Docker-ps-Befehl

Kubernetes-Alternativen zu Docker-Befehlen

Alles, was Sie über die Verwendung von Docker Compose wissen müssen

21 grundlegende Befehle, die jeder Docker-Benutzer kennen sollte

Die 50 nützlichsten Linux-Befehle zum Ausführen im Terminal

Die 50 nützlichsten Zypper-Befehle für SUSE Linux-Benutzer

Nützliche Bash-Befehle, die Sie vielleicht nicht kennen