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

20 nützliche Beispiele für Docker-Befehle unter Linux

Docker-Container sind heutzutage eine der aufstrebendsten Technologien. Docker-Container werden im Allgemeinen in CI/CD-Plattformen (Continuous Integration/Continuous Deployment) verwendet. Container sind die leichten VMs (Virtual Machines), die die zugrunde liegenden Hypervisor-Ressourcen wie (RAM, CPU, HDD und Kernel) nutzen.

Der Docker-Befehl wird verwendet, um Container und Bilder über die Befehlszeile zu verwalten. In diesem Artikel behandeln wir 20 nützliche Beispiele für Docker-Befehle in Linux. Ich gehe davon aus, dass Docker bereits auf Ihrem Linux-System installiert ist und Ihr normaler Benutzer zur Docker-Gruppe hinzugefügt wurde.

1) Überprüfen Sie die Docker-Version

Die erste wichtige Aufgabe bei der Arbeit an Docker-Containern besteht darin, Ihre Docker-Version zu kennen. Führen Sie den folgenden Docker-Befehl aus, um die Version zu kennen

$ docker --version
Docker version 20.10.12, build e91ed57
$

2) Systemweite Informationen anzeigen

Der Befehl „docker info“ wird verwendet, um systemweite Informationen wie das Docker-Stammverzeichnis, die Betriebssystemversion, die Kernel-Version, die Docker-Version, den Arbeitsspeicher, die CPU und die Docker-Registrierung anzuzeigen.

$ docker info

3) Docker-Images durchsuchen

Mit dem Befehl „docker search“ können wir die Docker-Container-Images aus der Docker-Hub-Registrierung durchsuchen. Nehmen wir an, ich möchte nach den neuesten nginx-Docker-Images suchen.

$ docker search nginx

Die Ausgabe des obigen Befehls würde wie folgt aussehen,

4) Docker-Container-Images herunterladen

Der Docker-Pull-Befehl wird verwendet, um Container-Images aus der Docker-Hub-Registrierung herunterzuladen.

Syntax:

$ docker pull

Der Docker-Pull-Befehl versucht immer, die neueste Version des Bildes herunterzuladen, obwohl wir die bestimmte Version des Bildes angeben können. Nehmen wir an, ich möchte die neueste Version des rsyslog-Images herunterladen

$ docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
5eb5b503b376: Pull complete
1ae07ab881bd: Pull complete
78091884b7be: Pull complete
091c283c6a66: Pull complete
55de5851019b: Pull complete
b559bad762be: Pull complete
Digest: sha256:2834dc507516af02784808c5f48b7cbe38b8ed5d0f4837f16e78d00deb7e7767
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
$

Herunterladen eines bestimmten Images basierend auf der Version, nehmen wir an, wir möchten Ubuntu:20:04 Docker-Image herunterladen, ausführen

$ docker pull ubuntu:20.04
20.04: Pulling from library/ubuntu
08c01a0ec47e: Pull complete
Digest: sha256:669e010b58baf5beb2836b253c1fd5768333f0d1dbcb834f7c07a4dc93f474be
Status: Downloaded newer image for ubuntu:20.04
docker.io/library/ubuntu:20.04
$

5) Heruntergeladene Docker-Container-Images anzeigen

Da wir wissen, dass das Root-Verzeichnis von Docker „/var/lib/docker“ ist, werden immer dann, wenn wir Bilder mit dem Pull-Befehl von Docker herunterladen, alle Bilder im Root-Verzeichnis von Docker gespeichert.

Um alle heruntergeladenen Docker-Container-Images anzuzeigen, führen Sie

aus
$ docker image ls
or 
$ docker images

Ausgabe

6) Docker-Container ausführen

Container werden mit dem Befehl „docker run“ gestartet, nehmen wir an, ich möchte einen Container von einem nginx-Image ausführen.

$ docker run -it -p 9000:80 --name=myapp nginx

Ausgabe

Oben wird ein Container mit dem Namen „myapp“ ausgeführt, und wir legen die Pat-Regel auch so fest, dass jede Anforderung, die an Port 9000 auf dem Docker-Host eingeht, diese Anforderung an den Container myapp auf Port 80 umgeleitet wird. Wenn Sie vielleicht bemerkt haben, dass wir die Konsole direkt nach dem Ausführen des Befehls erhalten. Geben Sie exit ein, um den Container zu stoppen / herunterzufahren, und wenn Sie den Container verlassen möchten, ohne ihn zu stoppen, geben Sie „Strg + P + Q“ ein

Jetzt können Sie mit dem Curl-Befehl

auf Port 9000 auf Ihre Nginx-App zugreifen
$ curl http://<Docker-Host-IP-Address>:9000/

7) Container im Trennmodus ausführen

Wir können einen Container im Trennmodus mit der Option -d im Befehl „docker run“ ausführen. Hier bedeutet der Trennmodus, dass wir nach dem Ausführen des Befehls „docker run“ eine Eingabeaufforderung erhalten. Beispiel ist unten gezeigt,

$ docker run -it -d -p 9080:80 --name=myapp2 httpd
f7dc2ece64708a9de5e53f341b0c7d17ac9189fb7c99079ad8744348bc5a6faa
$

8) Alle laufenden Container anzeigen

Führen Sie den Befehl „docker ps“ aus, um alle laufenden Container anzuzeigen

$ docker ps

Um alle laufenden Container mit beendeten oder gestoppten Containern anzuzeigen, führen Sie

aus
$ docker ps -a

9) Container Console-Zugriff

Um Zugriff auf die Containerkonsole zu erhalten, führen Sie den Befehl „docker exec“ aus

[email protected]:~$ docker exec -it myapp /bin/bash
[email protected]:/#

Um die Konsole zu verlassen, geben Sie den Exit-Befehl

ein

10) Container starten, stoppen, neu starten und beenden

Genau wie virtuelle Maschinen können wir Docker-Container starten, stoppen und neu starten.

Verwenden Sie den folgenden Befehl, um einen laufenden Container zu stoppen

$ docker stop myapp2
myapp2
$

Anstelle des Containernamens können wir auch die Container-ID verwenden

Verwenden Sie den folgenden Befehl, um einen Container zu starten.

$ docker start myapp2
myapp2
$

Verwenden Sie den folgenden Befehl, um einen Container neu zu starten.

$ docker restart myapp2
myapp2
$

Genau wie ein Prozess können wir auch einen Container beenden. Verwenden Sie den folgenden Befehl, um einen Container zu beenden.

[email protected]:~$ docker kill myapp2
myapp2
[email protected]:~$

11) Container entfernen

Docker-Container wird mit dem Befehl „docker rm“ entfernt oder gelöscht. ‚docker rm‘ funktioniert nur, wenn Docker gestoppt/heruntergefahren ist.

Syntax:

$ docker rm {container_name_OR_container_id}

$ docker stop test-app
test-app
$ docker rm test-app
test-app
$

Um einen laufenden Container zwangsweise zu entfernen, verwenden Sie die Option „-f“ im Befehl docker rm. Beispiel ist unten gezeigt

$ docker rm -f nginx-app

12) Docker-Container-Images entfernen

Genau wie Container können wir auch Docker-Images löschen oder entfernen. Der Befehl „docker rmi“ wird verwendet, um Docker-Container-Images zu entfernen.

Nehmen wir an, wir möchten ein Docker-Image „Ubuntu:20.04“ löschen, führen Sie

aus
$ docker rmi ubuntu:20.04
Untagged: ubuntu:20.04
Untagged: [email protected]:669e010b58baf5beb2836b253c14f7c07a4dc93f474be
Deleted: sha256:54c9d81cbb440897908abdcaa98674db831e40a66f704f
Deleted: sha256:36ffdceb4c77bf34325fb695e64ea447f629593310578d2
$

Im obigen Befehl können wir die Bild-ID anstelle des Bildnamens verwenden

$ docker rmi 54c9d81cbb44

13) Docker-Container-Image speichern und laden

Um ein Docker-Image in einer tar-Datei zu speichern, verwenden Sie den Befehl „docker save“, das Beispiel ist unten gezeigt:

$ docker save nginx -o mynginx.tar
$ ls -l mynginx.tar
-rw------- 1 sysops sysops 145931776 Feb 5 10:30 mynginx.tar
$

Um ein Docker-Image aus einer tar-Datei zu laden, verwenden Sie den Befehl „docker load“

$ docker load -i mynginx.tar
Loaded image: nginx:latest
$

Hinweis:Diese Befehle sind nützlich, wenn wir ein Docker-Image von einem Docker-Host auf einen anderen übertragen möchten.

14) Kopieren Sie Dateien/Ordner in den Container

Wir können Dateien oder Ordner vom Docker-Host mit dem Befehl „docker cp“ in einen Container kopieren. Im Folgenden kopieren wir den Ordner „mycode“ in den myapp-Container

$ docker cp mycode myapp:/tmp

15) Verlauf eines Docker-Image anzeigen

Der Verlauf des Docker-Images bedeutet hier, welche Befehle beim Erstellen von Docker-Images ausgeführt werden. Wir können diese Befehle mithilfe des „Docker-Verlaufs“ einsehen

Syntax:#

$ Docker-Verlauf {Image_Name_OR_Image_id}

$ docker history nginx

16) Protokolle aus dem Container anzeigen

Wir können die Protokolle aus den Containern anzeigen, ohne uns anzumelden. Führen Sie den Befehl „docker logs“ aus

Syntax:

$ Docker-Protokolle {container_name_or_container_id}

$ docker logs myapp

Um die Live-Protokolle anzuzeigen, verwenden Sie die Option „-f“ im Docker-Protokollbefehl

$ docker logs -f myapp

Um die letzten 10 Protokolle aus einem Container anzuzeigen, führen Sie

aus
$ docker logs --tail 10 myapp

17) Ressourcennutzungsstatistik für Container anzeigen

Um die CPU-, Arbeitsspeicher- und Netzwerk-E/A-Nutzung aller Container anzuzeigen, führen Sie den Befehl „docker stats“

aus
$ docker stats

Obiger Befehl zeigt Live-Streaming von Ressourcennutzungsstatistiken aller Container.

Um die Statistiken eines bestimmten Containers anzuzeigen, führen Sie docker stats gefolgt von container

aus
$ docker stats myapp

Statistiken zur Ressourcennutzung ohne Live-Streaming

$ docker stats --no-stream

Die laufenden Prozesse eines Containers können wir uns mit ‚docker top anzeigen lassen ‘ Befehl.

Syntax:#

Docker-Oberseite {Container_Name_OR_ID}

$ docker top myapp

18) IP-Adresse des Containers anzeigen

Container-Low-Level-Informationen werden mit dem Befehl „docker inspect“ angezeigt. Wir können die IP-Adresse eines Containers mit dem Befehl „docker inspect“ abrufen

Syntax:

$ docker inspect -f ‘{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}’ 

Beispiel

$ docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' myapp
172.17.0.2
$

19) Docker-Container-Image erstellen

Das Docker-Container-Image wird mit dem Befehl „docker build“ erstellt, aber für den Docker-Build-Befehl müssen wir zuerst Dockerfile erstellen. Nehmen wir an, wir Dockerfile wird im mycode-Ordner erstellt und führen dann den folgenden Befehl aus, um das Docker-Image zu erstellen,

$ cd mycode
$ docker build -t mynginx:v2 .

Auch lesen :Wie man ein Docker-Image mit Dockerfile erstellt (Schritt für Schritt)

20) Tag auf Docker-Image setzen

Der Befehl ‚docker tag‘ wird verwendet, um das Tag auf ein Bild zu setzen.

Syntax:

$ docker tag source_image{:tag}  target_image{:tag}

Angenommen, ich möchte das Tag des Quellbilds „mariadb:latest“ als „mariadb:10.03“

festlegen
$ docker tag mariadb:latest mariadb:10.03
$ docker images | grep -i mariadb
mariadb 10.03 45a5a43e143a 3 days ago 410MB
mariadb latest 45a5a43e143a 3 days ago 410MB
$

Wenn Sie ein Bild in Ihre private Registrierung hochladen möchten, markieren Sie das Bild so, dass die Registrierungs-URL dem Projekt und dem Bild folgen sollte.

$ docker tag mariadb:latest myregistry:5000/db/mariadb:10.03

Melden Sie sich jetzt mit dem Befehl „docker login“ bei Ihrer privaten Registrierung an und führen Sie den Docker-Push-Befehl aus, um ihn hochzuladen.

$ docker push myregistry:5000/db/mariadb:10.03

Das ist alles aus diesem Artikel. Ich hoffe, Sie fanden diese Beispiele informativ. Bitte zögern Sie nicht, Ihre Fragen und Kommentare in den Kommentarbereichen unten zu teilen.

Lesen Sie auch :So erstellen und verwenden Sie ein MacVLAN-Netzwerk in Docker


Docker
  1. 12 nützliche Wget-Befehlsbeispiele unter Linux

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

  3. 8 Linux TR-Befehlsbeispiele

  4. rm-Befehlsbeispiele unter Linux

  5. ps-Befehlsbeispiele in Linux

9 Nützliche Touch-Befehlsbeispiele in Linux

pwd-Befehl in Linux mit nützlichen Beispielen

SS-Befehl in Linux mit nützlichen Beispielen

11 Nützliche Beispiele für Linux-Datumsbefehle

12 Nützliche Beispiele für Linux-Datumsbefehle

id-Befehlsbeispiele in Linux