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

21 grundlegende Befehle, die jeder Docker-Benutzer kennen sollte

Docker verfügt über einen umfangreichen Befehlssatz (genauer gesagt Unterbefehle). Sie können unmöglich alle verwenden und es besteht keine Notwendigkeit, sich auch für diese Errungenschaft zu entscheiden.

Meistens verwenden Sie eine bestimmte Teilmenge von Befehlen zum Verwalten von Containern und Images.

Ich werde solche gängigen, aber wesentlichen Docker-Befehle auflisten, die für die tägliche Verwendung durch Docker-Benutzer und -Administratoren äußerst nützlich sind.

Ich habe diese Docker-Befehle in zwei Kategorien unterteilt:

  1. Ausführbare Datei:Befehle, die zum Ausführen und Verwalten von Containern verwendet werden
  2. Informativ:Befehle, die zum Extrahieren von Informationen über Container, Bilder und Ebenen verwendet werden.

Hört sich gut an? Sehen wir uns diese wichtigen Docker-Befehle zusammen mit praktischen Beispielen an.

Docker führt Befehle aus [zum Ausführen und Verwalten von Containern]

Diese Docker-Befehle werden zum Verwalten von Containern und zum Erstellen von Images verwendet. Sie führen eine bestimmte Aufgabe aus und daher habe ich sie „Docker-Ausführungsbefehle“ genannt.

An dieser Stelle empfehle ich Ihnen, Ihre Grundlagen des Docker-Container-Lebenszyklus mit diesem Bild aufzufrischen:

Abgesehen davon sehen wir uns die Befehle und ihre Beispiele an.

Wenn Sie Docker auf Ihrem System installiert haben, können Sie die Beispiele zusammen mit dem Tutorial zum Üben ausführen.

1. Docker-Ausführung

Docker Run wird verwendet, um einen Container zu erstellen und sofort zu starten.

Dieser Befehl sucht zuerst nach einem vorhandenen Image für den auszuführenden Container und zieht es, wenn es nicht gefunden wird, aus dem Repository, erstellt einen Container aus dem Image und startet dann sofort die Ausführung.

Lassen Sie uns einen Nginx-Container aus dem offiziellen Repository ausführen.

[email protected]:~$ docker run --name nginx-root -p 80:80 -d nginx

8411c3df0fd7f57395b0732b1b1963c215040eed669dc8327200db197ff6099b
[email protected]:~$

Mit dem --name -Flag, passen Sie seinen lokalen Namen an und ordnen auch den Host-Port dem Container-Port zu. -d oder --detach hilft beim Ausführen des Containers im Hintergrund im getrennten Modus.

„docker run“ ist die kürzere Version von „docker container run“. Docker empfiehlt offiziell die längere Form, aber die ältere und kürzere Form ist immer noch beliebt, da die Eingabe von Befehlen weniger Zeit in Anspruch nimmt.

2. Dockerstopp

Dieser Befehl wird verwendet, um Container zu stoppen, die bereits ausgeführt werden. Die Syntax ist einfach:

docker stop container-name-or-id

Stoppen wir den Container, den Sie im ersten Befehl gestartet haben.

[email protected]:~$ docker stop nginx-root
nginx-root
[email protected]:~$

Falls Sie beim Ausführen keinen Namen angepasst haben, können Sie den zufällig generierten Namen mit docker ps überprüfen Befehl (später besprochen).

Wenn Sie den docker stop-Befehl verwenden, sendet er ein SIGTERM-Signal, das die Beendigung anfordert, woraufhin das SIGKILL-Signal abhängig von der Beendigungssituation verwaltet wird.

3. Docker-Start

Dies wird verwendet, um Container zu starten, die gestoppt wurden. Die Syntax ist einfach:

docker start container-name-or-id

Lassen Sie uns den Nginx-Container starten, den Sie gerade im vorherigen Beispiel gestoppt haben.

[email protected]:~$ docker start nginx-root
nginx-root
[email protected]:~$

Bitte beachten Sie, dass Docker Start im Gegensatz zu Docker Run keine neuen Container aus Images erstellen kann. Es kann nur Container ausführen, die sich im gestoppten Zustand befinden.

Docker Run vs. Start vs. Create:Unterschied erklärtFür einen Docker-Anfänger könnten Begriffe wie Docker-Start, Docker-Run und Docker-Erstellung verwirrend sein. Dieser Artikel erklärt den Unterschied anhand von Beispielen. Linux-HandbuchAbhishek Prakash

4. Docker-Exec

docker exec , wird, wie der Name schon sagt, für die Ausführung neuer Befehle innerhalb eines bereits laufenden Containers verwendet.

[email protected]:~$ docker exec -ti nginx-root /bin/bash
[email protected]:/#

Jetzt führen Sie eine Bash-Shell im Container aus.

In -ti , t bezeichnet ein "Terminal" und i bedeutet "interaktiv", um STDIN (Standardeingabe) offen zu halten, auch wenn es nicht angehängt ist.

Um die Container-Shell zu verlassen, verwenden Sie einfach den Exit-Befehl, um zu Ihrer Host-Konsole zurückzukehren.

[email protected]:/# exit
exit
[email protected]:~$

5. Docker-Umbenennung

Um einen Container umzubenennen, verwenden Sie die folgende Syntax:

docker rename old_container_name new_container_name

Benennen wir den nginx-root-Container in nginx-toor um. Beachten Sie, dass Sie dies auch tun können, wenn der Container ausgeführt wird!

[email protected]:~$ docker rename nginx-root nginx-toor

6. Docker anhalten/aufheben

Mit docker pause , können Sie alle Prozesse in einem bestimmten Container anhalten. Es wird das SIGSTOP-Signal verwendet, das vom ausgesetzten Prozess bemerkt wird.

[email protected]:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
72acb924f667 nginx "nginx -g 'daemon of…" 4 hours ago Up 4 hours 0.0.0.0:80->80/tcp nginx-toor
e2dd68fdd220 wordpress:5.3.0-php7.1-apache "docker-entrypoint.s…" 3 days ago Up 3 days 0.0.0.0:8088->80/tcp wp2_wordpress_1
016709c05add wordpress:5.3.0-php7.1-apache "docker-entrypoint.s…" 3 days ago Up 3 days 0.0.0.0:8080->80/tcp wp1_wordpress_1
656f6761ce0d mariadb:10.4.10-bionic "docker-entrypoint.s…" 8 days ago Up 3 days 3306/tcp wp2_mysql_1
ee953bb14483 mariadb:10.4.10-bionic "docker-entrypoint.s…" 8 days ago Up 3 days 3306/tcp wp1_mysql_1

Halten wir den nginx-toor-Container an:

[email protected]:~$ docker pause nginx-toor
nginx-toor

Jetzt können Sie mit dem docker ps überprüfen, ob es wirklich pausiert wurde Befehl erneut:

[email protected]:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
72acb924f667 nginx "nginx -g 'daemon of…" 4 hours ago Up 4 hours (Paused) 0.0.0.0:80->80/tcp nginx-toor
e2dd68fdd220 wordpress:5.3.0-php7.1-apache "docker-entrypoint.s…" 3 days ago Up 3 days 0.0.0.0:8088->80/tcp wp2_wordpress_1
016709c05add wordpress:5.3.0-php7.1-apache "docker-entrypoint.s…" 3 days ago Up 3 days 0.0.0.0:8080->80/tcp wp1_wordpress_1
656f6761ce0d mariadb:10.4.10-bionic "docker-entrypoint.s…" 8 days ago Up 3 days 3306/tcp wp2_mysql_1
ee953bb14483 mariadb:10.4.10-bionic "docker-entrypoint.s…" 8 days ago Up 3 days 3306/tcp wp1_mysql_1

Verwenden Sie zum Zurücksetzen einfach unpause:

[email protected]:~$ docker unpause nginx-toor
nginx-toor

7. Docker-Kill

docker kill wird verwendet, um das standardmäßige KILL-Signal an einen Container zu senden. Im Gegensatz zu docker stop , sendet es direkt ein SIGKILL-Signal, ohne eine Terminierung mit dem SIGTERM-Signal anzufordern.

Es ist eine abrupte Möglichkeit, die Beendigung basierend auf typischen Notfallsituationen zu erzwingen, und daher wird immer empfohlen, docker stop zu verwenden zuerst.

[email protected]:~$ docker kill nginx-root
nginx-root
[email protected]:~$

8. Docker-Build

Wenn Sie das Docker-Image ändern, müssen Sie Ihr benutzerdefiniertes Image erstellen, bevor Sie es zum Bereitstellen neuer Container verwenden können.

docker build ist der Befehl, um solche modifizierten Images zu erstellen.

Ich empfehle, diese ausführliche Anleitung zur Verwendung von Dockerfile zum Erstellen benutzerdefinierter Docker-Images zu lesen. Hier zeige ich nur ein kurzes Beispiel.

Hier ist ein Dockerfile-Beispiel:

FROM alpine:latest
RUN apk update
RUN apk add vim

Zuerst lädt es ein Alpine-Linux-Image aus dem offiziellen Repository herunter. Dann aktualisiert es den Paket-Cache und installiert dann zusätzlich den Vim-Editor darin.

Das bedeutet, dass der von diesem Image ausgeführte Container den Vim-Editor vorinstalliert hat.

Erstellen Sie das Image folgendermaßen:

[email protected]:~/docker-build-test$ docker image build -t docker-build-test-image .

Sending build context to Docker daemon 2.048kB
Step 1/3 : FROM alpine:latest
---> 965ea09ff2eb
Step 2/3 : RUN apk update
---> Using cache
---> b16ea26b03aa
Step 3/3 : RUN apk add vim
---> Using cache
---> b283eaf606c1
Successfully built b283eaf606c1
Successfully tagged docker-build-test-image:latest

Das geänderte Image heißt docker-build-test-image und der Befehl sucht nach dem Dockerfile im aktuellen Verzeichnis.

9. Docker-CP

Der cp-Befehl ist erfahrenen Linux-Benutzern bereits bekannt, um Dateien und Verzeichnisse zwischen verschiedenen Orten zu kopieren.

Ebenso docker container cp , oder einfach docker cp wird verwendet, um Dateien und Verzeichnisse zwischen dem Container und dem Host zu kopieren.

[email protected]:~/nginx-root$ docker cp nginx-root:/etc/nginx/nginx.conf ./config

Der obige Befehl kopiert die Datei nginx.conf aus dem Container nginx-root in ein Verzeichnis namens config, das sich bereits im aktuellen Arbeitsverzeichnis (auch nginx-root genannt) befinden muss. Beachten Sie die ähnliche Dateisystemstruktur (/etc/nginx) des Containers, genau wie ein normales Linux-System.

10. Docker-rm

Ähnlich wie beim Entfernen von Dateien und Verzeichnissen über das Linux-Terminal verwendet Docker eine ähnliche Syntax, um sowohl Bilder als auch Container zu entfernen.

docker rm container_or_image_name_or_id

Versuchen Sie, den nginx-root-Container zu entfernen, den Sie zuvor in diesem Tutorial erstellt haben:

[email protected]:~$ docker rm nginx-root
nginx-root

Die Ausgabe sagt nicht, dass der Container entfernt wurde oder ähnliches, aber es wird trotzdem entfernt.

Sie können einen laufenden Container nicht entfernen. Sie können kein Image entfernen, das mit einem Container verknüpft ist, auch nicht mit einem angehaltenen. So entfernen Sie alle Docker-Container (oder einige davon) Erfahren Sie anhand dieser praktischen Beispiele, wie Sie Docker-Container in verschiedenen Situationen entfernen. Linux-HandbuchAbhishek Prakash So entfernen Sie Docker-Images:einzeln oder alle Ein vollständiger Artikel, der verschiedene Szenarien zum Entfernen von Docker-Images behandelt mit Beispielen. Linux-HandbuchAbhishek Prakash

Lassen Sie uns alle oben genannten Befehle zusammenfassen:

Ich werde den nginx-root-Container erneut erstellen, um ihn in einigen anderen Befehlsbeispielen zu verwenden.

Docker-Informationsbefehle [um Informationen über Container und Images abzurufen]

Docker-Befehle, die Ihnen Informationen zu bestimmten Aufgaben und vorhandenen lesbaren Parametern liefern, können als informative Docker-Befehle aufgerufen werden.

Hier trage ich zu diesem Zweck 11 Docker-Befehle ein:

11. Docker-PS/Container-LS

Abkürzung für docker container ls , docker ps kann verwendet werden, um alle Container aufzulisten, die derzeit auf einem System ausgeführt werden, und ihren Status mit zusätzlichen Statistiken zu überprüfen.

[email protected]:~$ docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e2dd68fdd220 wordpress:5.3.0-php7.1-apache "docker-entrypoint.s…" 3 days ago Up 3 days 0.0.0.0:8088->80/tcp wp2_wordpress_1

016709c05add wordpress:5.3.0-php7.1-apache "docker-entrypoint.s…" 3 days ago Up 3 days 0.0.0.0:8080->80/tcp wp1_wordpress_1

80e12e4a431c nginx "nginx -g 'daemon of…" 3 days ago Up 3 days 0.0.0.0:80->80/tcp nginx-root

656f6761ce0d mariadb:10.4.10-bionic "docker-entrypoint.s…" 7 days ago Up 3 days 3306/tcp wp2_mysql_1

ee953bb14483 mariadb:10.4.10-bionic "docker-entrypoint.s…" 7 days ago Up 3 days 3306/tcp wp1_mysql_1

[email protected]:~$

12. Docker-Images/Image-ls

Wenn Sie ein erfahrener Linux-Benutzer sind, sind Sie vielleicht bereits mit ls vertraut Befehl, der zum Überprüfen von Verzeichnisinhalten mit dem Linux-Terminal verwendet wird.

Ähnlich in Docker, docker image ls oder einfach docker images wird verwendet, um die Liste aller Docker-Images zu überprüfen, die in einem System vorhanden sind. Diese Bilder können offiziell oder benutzerdefiniert sein, je nachdem, wie sie erstellt wurden.

[email protected]:~$ docker images

REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 4152a9608752 10 days ago 126MB
avimanyu786/flask-test latest f8e2d6f524ef 2 weeks ago 122MB
avimanyu786/nginx-test latest 5fe5e88b9eaa 2 weeks ago 23MB
wordpress 5.3.0-php7.1-apache f0985bcc2ffb 2 weeks ago 530MB
mariadb 10.4.10-bionic c1c9e6fba07a 2 weeks ago 355MB
avimanyu786/alpine-with-vim latest b283eaf606c1 2 weeks ago 34.7MB
jwilder/nginx-proxy latest d1c0beda6804 3 weeks ago 161MB
nginx alpine b6753551581f 5 weeks ago 21.4MB
python alpine 204216b3821e 5 weeks ago 111MB
alpine latest 965ea09ff2eb 5 weeks ago 5.55MB
mysql latest c8ee894bd2bd 6 weeks ago 456MB
hello-world latest fce289e99eb9 11 months ago 1.84kB
[email protected]:~$

Abgesehen von Containern und Bildern, ls wird auch für ähnliche Zwecke auf Docker verwendet, um Netzwerke, Volumes, Knoten und Schwarmdienste zu verwalten.

13. Docker-Protokolle

Dieser Befehl ist auf Produktionsservern sehr hilfreich, um Probleme zu untersuchen und zu lösen. Sie können die Protokolle eines beliebigen Containers mit Hilfe des Befehls docker logs abrufen.

docker logs container_name_or_id

Zum Beispiel:

[email protected]:~$ docker logs nginx-toor
178.130.157.61 - - [30/Nov/2019:07:56:14 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36" "-"
178.130.157.61 - - [30/Nov/2019:07:56:14 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36" "-"
.
.
.
.
x64|'|'|No|'|'|0.7d|'|'|..|'|'|AA==|'|'|112.inf|'|'|SGFjS2VkDQoxOTIuMTY4LjkyLjIyMjo1NTUyDQpEZXNrdG9wDQpjbGllbnRhLmV4ZQ0KRmFsc2UNCkZhbHNlDQpUcnVlDQpGYWxzZQ==12.act|'|'|AA==" 400 157 "-" "-" "-"
8.36.123.216 - - [30/Nov/2019:10:32:20 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" "-"
202.142.105.74 - - [30/Nov/2019:12:03:39 +0000] "GET /favicon.ico HTTP/1.1" 404 153 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0" "-"

14. Docker-Version

Um detaillierte Informationen über die auf dem System installierte Docker-Version zu erhalten, verwenden Sie einfach:

docker version

So sehen diese Informationen aus:

[email protected]:~$ docker version
Client: Docker Engine - Community
Version: 19.03.4
API version: 1.40
Go version: go1.12.10
Git commit: 9013bf583a
Built: Fri Oct 18 15:54:09 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.4
API version: 1.40 (minimum version 1.12)
Go version: go1.12.10
Git commit: 9013bf583a
Built: Fri Oct 18 15:52:40 2019
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.10
GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339
runc:
Version: 1.0.0-rc8+dev
GitCommit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
docker-init:
Version: 0.18.0
GitCommit: fec3683
[email protected]:~$

15. Docker-Info

Der folgende Befehl zeigt Ihnen systemweite Informationen zum Hostsystem, auf dem Docker installiert ist:

[email protected]:~$ docker info
Client:
Debug Mode: false
Server:
Containers: 9
Running: 5
Paused: 0
Stopped: 4
Images: 17
Server Version: 19.03.4
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: b34a5c8af56e510852c35414db4c1f4fa6172339
runc version: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
init version: fec3683
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 4.15.0-50-generic
Operating System: Ubuntu 18.04.2 LTS
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 985.4MiB
Name: localhost
ID: MZTJ:L5UF:WMQ3:VOIO:NR3N:336Q:YX2T:MSOU:5Y2N:MA7V:F6BQ:6UDY
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
WARNING: No swap limit support
[email protected]:~$

16. Docker inspizieren

Die docker inspect Der Befehl wird verwendet, um Informationen auf niedriger Ebene sowohl von Containern als auch von Bildern anzuzeigen.

Sie können Informationen wie die Prüfsumme des Bildes, Schichten, Container-IP-Adresse und andere Netzwerkinformationen und viele andere Informationen abrufen.

Es ist ratsam, den Befehl grep zu verwenden, um die Ausgabe zu filtern und nur die gewünschten Informationen zu erhalten.

Im folgenden Beispiel untersuche ich ein vorhandenes Docker-Image mit dem Namen avimanyu786/alpine-with-vim:latest .

[email protected]:~$ docker inspect avimanyu786/alpine-with-vim:latest
[
{
"Id": "sha256:b283eaf606c18a4d0cc461ffdf86d53ecb173db5271129090a7421a64b1c514e",
"RepoTags": [
"avimanyu786/alpine-with-vim:latest"
],
"RepoDigests": [],
"Parent": "sha256:b16ea26b03aaf5d9bd84157fbef61670d2f318c1af854ae04f0dbc290afd4b04",
"Comment": "",
"Created": "2019-11-12T11:51:24.458552779Z",
"Container": "5b759e6f98e354a78dfca588eb65316b35f0cfb88c9119844471c8fcba362898",
"ContainerConfig": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": [
"/bin/sh",
"-c",
"apk add vim"
],
"Image": "sha256:b16ea26b03aaf5d9bd84157fbef61670d2f318c1af854ae04f0dbc290afd4b04",
.
.
.
.
"Metadata": {
"LastTagTime": "2019-11-12T11:51:24.563369343Z"
}
}
[email protected]:~$

17. Docker-Geschichte

Finden Sie den Verlauf eines beliebigen Images heraus, das auf Ihrem Docker-System vorhanden ist, mit docker history image-name.

Der Verlauf des Images zeigt Ihnen die vorgenommenen Änderungen und Commits in umgekehrter chronologischer Reihenfolge.

[email protected]:~$ docker history avimanyu786/alpine-with-vim:latest
IMAGE CREATED CREATED BY SIZE COMMENT
b283eaf606c1 2 weeks ago /bin/sh -c apk add vim 27.7MB
b16ea26b03aa 2 weeks ago /bin/sh -c apk update 1.42MB
965ea09ff2eb 5 weeks ago /bin/sh -c #(nop) CMD ["/bin/sh"] 0B
<missing> 5 weeks ago /bin/sh -c #(nop) ADD file:fe1f09249227e2da2… 5.55MB
[email protected]:~$

18. Docker-Port

Dieser Befehl kann sich als sehr nützlich erweisen, wenn mehrere Container verwaltet werden, da er Host-zu-Container-Port-Mappings sehr einfach aufdeckt:

[email protected]:~$ docker port nginx-root
80/tcp -> 0.0.0.0:80

Hier sehen Sie, dass Host-Port 80 dem Container-Port 80 für den Container namens nginx-root zugeordnet ist.

19. Docker-Unterschied

Mit docker diff können Sie Änderungen an Dateien oder Verzeichnissen im Dateisystem eines Containers untersuchen. Es listet die geänderten Dateien und Verzeichnisse im Dateisystem eines Containers seit dessen Erstellung auf.

Es werden drei verschiedene Arten von Änderungen verfolgt (A/D/C):

  • A:Hinzufügen einer Datei oder eines Verzeichnisses
  • D:Löschen einer Datei oder eines Verzeichnisses
  • C:Änderung einer Datei oder eines Verzeichnisses

Sehen wir uns dasselbe für unseren Nginx-Root-Container an:

[email protected]:~$ docker diff nginx-root
C /run
A /run/nginx.pid
C /var
C /var/cache
C /var/cache/nginx
A /var/cache/nginx/client_temp
A /var/cache/nginx/fastcgi_temp
A /var/cache/nginx/proxy_temp
A /var/cache/nginx/scgi_temp
A /var/cache/nginx/uwsgi_temp
[email protected]:~$

20. Docker-Top

Auch hier ist top ein Linux-Befehl, mit dem Sie vielleicht bereits vertraut sind. Es wird verwendet, um laufende Prozesse auf dem System aufzulisten.

Mit docker top listen Sie die Prozesse auf, die innerhalb eines Containers laufen.

docker top container_ID_or_name

Wenn ich es in unserem Beispiel mit nginx-root mache, zeigt es den folgenden Wert.

[email protected]:~$ docker top nginx-root
UID PID PPID C STIME TTY TIME CMD
root 10355 10330 0 07:54 ? 00:00:00 nginx: master process nginx -g daemon off;
systemd+ 10401 10355 0 07:54 ? 00:00:00 nginx: worker process
root 12054 10330 0 10:22 pts/0 00:00:00 /bin/bash
[email protected]:~$

21. Docker-Statistiken

Der Befehl docker stats kann unverändert und auch für bestimmte Container verwendet werden. Es zeigt Ihnen Containerdetails zusammen mit der Nutzung der Systemressourcen.

Schauen wir uns zunächst seine generische Form an:

[email protected]:~$ docker stats
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
72acb924f667 nginx-root 0.00% 2.621MiB / 985.4MiB 0.27% 8.02kB / 8.92kB 6.8MB / 0B 3
e2dd68fdd220 wp2_wordpress_1 0.00% 44.24MiB / 985.4MiB 4.49% 1.9MB / 1.62MB 53.3MB / 61.4kB 11
016709c05add wp1_wordpress_1 0.00% 68.52MiB / 985.4MiB 6.95% 12MB / 4.77MB 136MB / 61.4kB 11
656f6761ce0d wp2_mysql_1 0.05% 70.12MiB / 985.4MiB 7.12% 1.05MB / 1MB 16MB / 2.15MB 30
ee953bb14483 wp1_mysql_1 0.04% 31.73MiB / 985.4MiB 3.22% 1.16MB / 4.76MB 50.6MB / 91.8MB 31

Die obige Ausgabe wird kontinuierlich in Echtzeit generiert, bis Sie sie mit Strg + C verlassen.

Wenn Sie es jetzt für einen bestimmten Container versuchen, sehen Sie die gleiche Ausgabe, aber nur für diesen Container:

[email protected]:~$ docker stats nginx-root
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
72acb924f667 nginx-root 0.00% 2.621MiB / 985.4MiB 0.27% 8.02kB / 8.92kB 6.8MB / 0B 3

Lassen Sie mich auch die Informationen der Docker-Befehle zusammenfassen:

Eine erschöpfende und umfassende Ressource aller Docker-Befehle finden Sie jederzeit in der offiziellen Docker-Dokumentation.

Sie werden eine Ähnlichkeit zwischen den üblichen Linux-Befehlen und einigen Docker-Befehlen feststellen. Ich denke, es ist beabsichtigt, das Einprägen der Docker-Befehle zu erleichtern.

Ich hoffe, Sie finden diesen Artikel hilfreich für Ihre tägliche Docker-Nutzung. Wenn Sie weitere solcher nützlichen Befehle teilen möchten, teilen Sie sie bitte unten mit. Feedback und Vorschläge sind immer willkommen.


Docker
  1. 20 wichtige Linux-Befehle für jeden Benutzer

  2. Soundthemen in Linux:Was jeder Benutzer wissen sollte

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

  4. 7 Linux-Netzwerkbefehle, die jeder Systemadministrator kennen sollte

  5. 17 Linux-Befehle, die jeder Systemadministrator kennen sollte

Ubuntu-Tastaturkürzel, die jeder Benutzer kennen sollte

Wie man SSH in einen Docker-Container einfügt und Befehle ausführt

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

5 Linux-Befehle, die jeder Linux-Benutzer kennen sollte

Docker-Befehle zum Verwalten des Containerlebenszyklus (Definitive Guide)

5 einfache Bash-Verlaufstricks, die jeder Linux-Benutzer kennen sollte