Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

15 Docker-Befehle zum Verwalten von Containern [List, Stop, Start, Remove und mehr]

Docker-Sicherheit
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

Docker ist ein beliebtes Tool zum Erstellen und Ausführen von containerisierten Anwendungen. Es ist für mehrere Plattformen verfügbar und wird als eine der Back-End-Container-Technologien in Kubernetes verwendet.

In Docker erstellen Sie entweder Ihre eigenen Images, um Ihre Anwendung als Container auszuführen, oder Sie können Tausende von öffentlichen Images aus dem Docker-Repository abrufen und in Ihrem Projekt verwenden. Sobald Ihr Image fertig ist, können Sie Ihre Container mit diesen Images starten. Ein Container ist eine laufende Instanz eines Docker-Images.

Geschäftsführer Docker Container ist einer der wichtigsten Aspekte, um den man sich als Systemadministrator kümmern muss, der Docker-Hosts/Container verwaltet.

In diesem Artikel konzentrieren wir uns auf Verwaltung von Containern mit Docker Befehl.

run Command

docker run Befehl wird verwendet, um einen Container von einem Image aus auszuführen, indem die Image ID oder im Repository und / oder Tag Namen.

$ docker run {image}

Beispiel:

$ docker run nginx

Der obige Befehl führt eine Instanz von . aus <span class="NormalTextRun SpellingErrorV2 SCXW251451022 BCX0">nginx</span> Anwendung auf einem Docker-Host, falls bereits vorhanden. Wenn es auf dem Docker-Host nicht vorhanden ist, geht es (standardmäßig) zum Docker-Hub und zieht das Image herunter. Dies geschieht jedoch das einzige erste Mal. Für nachfolgende Zeiten wird dasselbe Bild wiederverwendet.

Wenn Sie eine bestimmte Version eines Images ausführen möchten, geben Sie deren Version durch einen Doppelpunkt getrennt an. Dies ist bekannt als Tag. Falls Sie kein Tag angeben, betrachtet Docker es standardmäßig als das neueste.

Wenn Sie den Container im Hintergrund in einem getrennten Modus ausführen möchten, damit Sie nach dem Start des Containers durch Docker zur Eingabeaufforderung zurückkehren, verwenden Sie -d Flagge.

Beispiel:

$ docker run nginx
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
33847f680f63: Pull complete
dbb907d5159d: Pull complete
8a268f30c42a: Pull complete
b10cf527a02d: Pull complete
c90b090c213b: Pull complete
1f41b2f2bf94: Pull complete
Digest: sha256:8f335768880da6baf72b70c701002b45f4932acae8d574dedfddaf967fc3ac90
Status: Downloaded newer image for nginx:latest
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2021/08/15 12:13:23 [notice] 1#1: using the "epoll" event method
2021/08/15 12:13:23 [notice] 1#1: nginx/1.21.1
2021/08/15 12:13:23 [notice] 1#1: built by gcc 8.3.0 (Debian 8.3.0-6)
2021/08/15 12:13:23 [notice] 1#1: OS: Linux 5.8.0-1039-azure
2021/08/15 12:13:23 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2021/08/15 12:13:23 [notice] 1#1: start worker processes
2021/08/15 12:13:23 [notice] 1#1: start worker process 33
2021/08/15 12:13:23 [notice] 1#1: start worker process 34

ps Command

docker ps -Befehl listet alle laufenden Container und einige grundlegende Informationen zu ihnen auf. Wie Container-ID, Name des Images, Zeitpunkt der Erstellung des Containers, aktueller Status und Name des Containers. Jeder Container erhält einen zufälligen Namen (wenn nicht explizit angegeben) und eine ID.

Beispiel:

$ docker ps 
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS     NAMES 
133f5e0267a5   nginx     "/docker-entrypoint.…"   10 seconds ago   Up 10 seconds   80/tcp    jolly_elion 

Um alle laufenden und nicht laufenden/beendeten Container gleichzeitig aufzulisten, können Sie Folgendes verwenden:

$ docker ps -a

Beispiel:

$ docker ps -a 
CONTAINER ID   IMAGE         COMMAND                  CREATED        STATUS                    PORTS     NAMES 
fcec129f0eb4   nginx         "/docker-entrypoint.…"   46 hours ago   Exited (0) 46 hours ago             interesting_ishizaka 
6e8b1e441aa6   hello-world   "/hello"                 2 days ago     Exited (0) 2 days ago               keen_shirley 

ls Command

Like ps Befehl, ls kann auch zum Auflisten von Containern verwendet werden. -a Flag kann verwendet werden, um alle Container aufzulisten (nicht nur die laufenden).

$ docker container ls

Beispiel:

$ docker container ls
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS      NAMES
15796e91c30b   redis     "docker-entrypoint.s…"   2 seconds ago    Up 1 second     6379/tcp   flamboyant_neumann
904390b65d45   nginx     "/docker-entrypoint.…"   14 minutes ago   Up 14 minutes   80/tcp     nginx_new
$

stop Command

docker stop Befehl wird verwendet, um einen laufenden Container zu stoppen. Hier müssen wir den Containernamen oder die ID zusammen mit diesem einfügen.

$ docker stop {container-id}

Bei Erfolg würde es den Docker-Namen oder die ID zurückgeben.

Beispiel:

$ docker ps 
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS     NAMES 
133f5e0267a5   nginx     "/docker-entrypoint.…"   50 seconds ago   Up 49 seconds   80/tcp    jolly_elion 

Dies wird die zurückgeben CONTAINER ID mit dem Sie den Container stoppen können.

$ docker stop 133f5 
133f5

Beachten Sie für dieses und die folgenden Beispiele, dass Sie keinen vollständigen Wert von angeben müssen CONTAINER ID. Es akzeptiert bis zu dem Teil, was es unter anderen ausgeführten Containern einzigartig macht, da Docker weiß, welcher Container gestoppt werden soll.

rm Command

docker rm Befehl entfernt einen gestoppten oder beendeten Container.

$ docker rm {CONTAINER NAME or ID}

Beispiel:

$ docker rm 133f5
133f5
$

exec Command

Wir verwenden exec Befehl, um in einen laufenden Container zu gehen. Dies ist nützlich, um laufende Container zu debuggen oder einige Dinge innerhalb eines Containers zu tun.

$ docker exec –it {container} {command}

Beispiel:

Angenommen, Sie möchten starten bash Shell (vorausgesetzt, das Image verfügt über Bash, können Sie auch andere verfügbare Shells verwenden) in einem Container namens unruffled_meninsky Verwenden Sie im interaktiven Modus:

$ docker exec –it unruffled_meninsky /bin/bash

Dies sollte Sie im Container auf a . landen bash Hülse. Hier die Flagge -i steht für interaktiven Modus und -t für das Endgerät. Wenn Sie nur einen oder mehrere Befehle ausführen und den Container verlassen möchten, können Sie Folgendes verwenden:

$ docker exec unruffled_meninsky cat /etc/hosts
127.0.0.1	localhost 
::1	localhost ip6-localhost ip6-loopback 
fe00::0	ip6-localnet 
ff00::0	ip6-mcastprefix 
ff02::1	ip6-allnodes 
ff02::2	ip6-allrouters 
172.17.0.2	cd2eed4acf34 

logs Command

Falls ein Container im getrennten Modus gestartet wird und wir seine Protokolle sehen möchten, können wir verwenden logs Befehl, um seine Protokolle zu überprüfen:

$ docker logs {CONTAINER NAME or ID}

Beispiel:

$ docker logs 7da6dcebaf9c
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2021/08/15 12:14:09 [notice] 1#1: using the "epoll" event method
2021/08/15 12:14:09 [notice] 1#1: nginx/1.21.1
2021/08/15 12:14:09 [notice] 1#1: built by gcc 8.3.0 (Debian 8.3.0-6)
2021/08/15 12:14:09 [notice] 1#1: OS: Linux 5.8.0-1039-azure
2021/08/15 12:14:09 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2021/08/15 12:14:09 [notice] 1#1: start worker processes
2021/08/15 12:14:09 [notice] 1#1: start worker process 31
2021/08/15 12:14:09 [notice] 1#1: start worker process 32
$

cp Command

Um Dateien zwischen einem Container und einem localhost-Dateisystem zu kopieren, können Sie cp Befehl.

$ docker container cp {CONTAINER NAME or ID:SRC_PATH} {DEST_PATH}|-

Beispiel:

$ docker container cp quirky_cray:/etc/nginx/nginx.conf nginx.conf.bkp

export Command

Der Docker-Container-Befehl bietet eine Option zum Exportieren des Dateisystems eines Containers als TAR-Datei.

$ docker container export {CONTAINER NAME or ID}

inspect Command

Detaillierte Informationen zu einem Container können wir überprüfen mit inspect Befehl als:

$ docker inspect {CONTAINER NAME or ID}

OR

$ docker container inspect {CONTAINER NAME or ID}

kill Command

Ein laufender Container kann getötet werden mit kill Befehl mit einem optionalen --signal or -s Flagge. Es können mehrere Container angegeben werden, um sie auf einmal zu töten.

$ docker kill {CONTAINER NAME or ID} [--signal VAL]

Beispiel:

$ docker kill cd9005a0b5d2 -s 9
cd9005a0b5d2
$

stats Command

Um einen Livestream der Ressourcennutzung eines Containers anzuzeigen, können Sie stats Befehl:

$ docker container stats {CONTAINER NAME or ID}

Beispiel:

$ docker container stats thirsty_volhard
CONTAINER ID   NAME              CPU %     MEM USAGE / LIMIT     MEM %     NET I/O       BLOCK I/O     PIDS
904390b65d45   thirsty_volhard   0.00%     3.406MiB / 7.775GiB   0.04%     1.02kB / 0B   0B / 8.19kB   3

top Command

Like top Befehl in Linux können wir ihn mit Docker verwenden, um eine Liste der laufenden Prozesse abzurufen.

$ docker container top {CONTAINER NAME or ID}

Beispiel:

$ docker container top thirsty_volhard
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                2603                2582                0                   12:34               ?                   00:00:00            nginx: master process nginx -g daemon off;
systemd+            2659                2603                0                   12:34               ?                   00:00:00            nginx: worker process
systemd+            2660                2603                0                   12:34               ?                   00:00:00            nginx: worker process
$

rename Command

Um einen vorhandenen Container umzubenennen, verwenden Sie rename Befehl.

$ docker container rename {OLD CONTAINER NAME} {NEW CONTAINER NAME}

Beispiel:

$ docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS     NAMES
904390b65d45   nginx     "/docker-entrypoint.…"   7 minutes ago   Up 7 minutes   80/tcp    nginx_container
$ docker container rename nginx_container nginx_new
$ docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS     NAMES
904390b65d45   nginx     "/docker-entrypoint.…"   7 minutes ago   Up 7 minutes   80/tcp    nginx_new
$

diff Command

Wir können Änderungen an Dateien oder Verzeichnissen im Dateisystem eines Containers überprüfen mit diff Befehl.

$ docker container diff {CONTAINER NAME or ID}

Beispiel:

$ docker container diff nginx_new
C /var
C /var/cache
C /var/cache/nginx
A /var/cache/nginx/uwsgi_temp
A /var/cache/nginx/client_temp
A /var/cache/nginx/fastcgi_temp
A /var/cache/nginx/proxy_temp
A /var/cache/nginx/scgi_temp
C /etc
C /etc/nginx
C /etc/nginx/conf.d
C /etc/nginx/conf.d/default.conf
C /run
A /run/nginx.pid
$

Zusammenfassung

Abschließend bietet Doker einen umfangreichen Befehlssatz, um Container von ihrer Erstellung bis zur Zerstörung zu verwalten. Wir haben einige der wichtige Befehle und deren Verwendung in diesem Artikel, die Ihnen eine gute Vorstellung von der Verwaltung von Docker-Containern geben sollten.

Als nächstes finden Sie einige der Ressourcen zum Erlernen von DevOps.

Danke an unsere Sponsoren
Weitere großartige Lektüre zu DevOps
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder