Zusammenfassung und Analyse häufig verwendeter Docker-Befehle und Beispiele

Zusammenfassung und Analyse häufig verwendeter Docker-Befehle und Beispiele

1. Container-Lebenszyklusmanagement

(1) Docker-Ausführung

Befehl Beschreibung
Erstellen Sie einen neuen Container und führen Sie eine Befehlssyntax aus

docker run [OPTIONEN] IMAGE [BEFEHL] [ARG…]

OPTIONS-Beschreibung:

-a stdin: Gibt den Standard-Eingabe- und Ausgabeinhaltstyp an und kann zwischen STDIN/STDOUT/STDERR wählen;
-d: Führen Sie den Container im Hintergrund aus und geben Sie die Container-ID zurück.
-i: Führen Sie den Container im interaktiven Modus aus, normalerweise mit -t verwendet;
-P: Zufällige Portzuordnung, der interne Port des Containers wird zufällig dem Port des Hosts zugeordnet. -p: Portzuordnung angeben, das Format ist: Host-Port: Container-Port -t: Ein Pseudo-Eingabeterminal für den Container neu zuweisen, normalerweise mit -i verwendet;
--name="nginx-lb": Geben Sie einen Namen für den Container an;
--dns 8.8.8.8: gibt den vom Container verwendeten DNS-Server an, der standardmäßig derselbe wie der Host ist;
--dns-search example.com: gibt den Domänennamen der DNS-Suche des Containers an, der standardmäßig mit dem Host identisch ist;
-h „mars“: gibt den Hostnamen des Containers an;
-e Benutzername="ritchie": Umgebungsvariablen festlegen;
--env-file=[]: Umgebungsvariablen aus der angegebenen Datei lesen;
--cpuset="0-2" oder --cpuset="0,1,2": Binden Sie den Container zum Ausführen an die angegebene CPU.
-m: Legen Sie die maximale Speichernutzung des Containers fest.
--net="bridge": gibt den Netzwerkverbindungstyp des Containers an und unterstützt vier Typen: Bridge/Host/None/Container;
--link=[]: einen Link zu einem anderen Container hinzufügen;
--expose=[]: öffne einen Port oder eine Gruppe von Ports;
--volume, -v: ein Volume binden

Häufige Beispiele

Verwenden Sie das Docker-Image fate:latest, um einen Container im Hintergrundmodus zu starten, und benennen Sie den Container myfate.

docker run --name myfate -d fate:latest

Verwenden Sie das Image fate:latest, um einen Container im Hintergrundmodus zu starten und Port 80 des Containers einem zufälligen Port auf dem Host zuzuordnen.

docker run -P -d Schicksal: neueste

Verwenden Sie das Image fate:latest, um einen Container im Hintergrundmodus zu starten, Port 80 des Containers Port 80 des Hosts zuzuordnen und das Verzeichnis /data des Hosts /data des Containers zuzuordnen.

docker run -p 80:80 -v /data:/data -d Schicksal: neueste

Binden Sie den Port 8080 des Containers und ordnen Sie ihn Port 80 auf dem lokalen Host 127.0.0.1 zu.

$ docker run -p 127.0.0.1:80:8080/tcp ubuntu bash

Verwenden Sie das Image fate:latest, um einen Container im interaktiven Modus zu starten und den Befehl /bin/bash im Container auszuführen.

wh@wh-pc:~$ docker run -it fate:latest /bin/bash
root@b8573233d675:/# 

(2) Starten/Stoppen/Neustarten

Befehlserklärung:
docker start : Starten Sie einen oder mehrere angehaltene Container
docker stop : Stoppen Sie einen laufenden Container.
docker restart : So starten Sie den Container neu:
Starten Sie den angehaltenen Container myfate

Docker startet MyFate

Stoppen Sie den laufenden Container myfate

Docker stoppt MyFate

Starten Sie den Container myfate neu

Docker startet MyFate neu

(3) Docker töten

Befehl Beschreibung
Beenden Sie einen laufenden Container.
Beispiele
Beenden Sie den laufenden Container myfate

wh@wh-pc:~$ docker kill -s KILL myfate

(4) Docker RM

Befehl Beschreibung
Löschen eines oder mehrerer Container Syntax

docker rm [OPTIONEN] CONTAINER [CONTAINER…]

OPTIONS-Beschreibung:

-f: Erzwingt das Löschen eines laufenden Containers über das SIGKILL-Signal.
-l: Entfernt Netzwerkverbindungen zwischen Containern, nicht die Container selbst.
-v: Löscht das mit dem Container verknüpfte Volume.

Häufige Beispiele

Container fate01 und fate02 zwangsweise löschen:

docker rm -f fate01 fate02

Entfernen Sie die Verbindung vom Container fate01 zum Container fate02, der Verbindungsname ist db:

docker rm -l db 

Löschen Sie den Fate-Container und das darauf gemountete Datenvolumen:

Docker rm -v Schicksal

Alle gestoppten Container löschen:

docker rm $(docker ps -a -q)

Beenden Sie alle laufenden Container

Docker töten $ (Docker ps -a -q)

Alle gestoppten Container löschen

docker rm $(docker ps -a -q)

Löschen Sie alle Bilder ohne das Dangling-Tag

Docker rmi $(Docker-Bilder -q -f baumelnd=wahr)

Löschen Sie das angegebene Bild anhand der Bild-ID

docker rmi <Bild-ID>

Alle Bilder löschen

Docker RMI $ (Docker-Bilder -q)

(5) Pause/Fortsetzen

Befehl Beschreibung
docker pause : Pausiert alle Prozesse im Container.
docker unpause : Alle Prozesse im Container fortsetzen.
Grammatik

Docker-Pause CONTAINER [CONTAINER ...]
Docker setzt Pause CONTAINER fort [CONTAINER ...]

Die gemeinsame Instanz unterbricht die Bereitstellung von Diensten durch den Datenbankcontainer.

Docker pausiert Schicksal

Setzen Sie den Fate-Datenbankcontainer fort, um Dienste bereitzustellen.

Docker setzt Schicksal fort

(6) erstellen

Befehl Beschreibung
docker create : Erstellt einen neuen Container, startet ihn aber nicht. Gleiche Verwendung wie docker run
Grammatik

Docker erstellen [OPTIONEN] BILD [BEFEHL] [ARG…]
Dieselbe Syntax wie Docker Run

Gängige Beispiele verwenden das Docker-Image fate:latest, um einen Container zu erstellen und den Container myfate zu nennen.

wh@wh-pc:~$ docker erstellen --name myfate fate:latest      

(7) Docker-Exec

Befehl Beschreibung Befehl in einem laufenden Container ausführen Syntax

docker exec [OPTIONEN] CONTAINER-BEFEHL [ARG…]

OPTIONS-Beschreibung:
-d : Getrennter Modus: im Hintergrund ausführen
-i : STDIN offen halten, auch wenn nicht angeschlossen
-t : weist eine gemeinsame Pseudoterminalinstanz zu, um das Skript /root/init.sh im Container im interaktiven Modus im Myfate-Container auszuführen:

wh@wh-pc:~$ docker exec -it myfate /bin/sh /root/runoob.sh

Öffnen Sie ein interaktives Terminal im Fate-Container:

wh@:~$ docker exec -i -t myfate /bin/bash

Sie können auch den Befehl docker ps -a verwenden, um den laufenden Container anzuzeigen und den Container dann mithilfe der Container-ID aufzurufen.
Zeigen Sie die ID des Containers an, der bereits ausgeführt wird:

# Docker ps -a 
...
9df70f9a0714 openjdk "/Benutzercode/script.sh…" 
...

Die 9df70f9a0714 in der ersten Spalte ist die Container-ID.
Führen Sie Bash im angegebenen Container über den Befehl „exec“ aus:

# docker exec -it 9df70f9a0714 /bin/bash

(8) Docker PS

Befehl Beschreibung Liste Container Syntax

docker ps [OPTIONEN]

OPTIONS-Beschreibung:
-a : Alle Container anzeigen, auch die, die nicht ausgeführt werden.
-f : Filtern Sie den angezeigten Inhalt entsprechend den Bedingungen.
–format : Geben Sie die Vorlagendatei für den Rückgabewert an.
-l : Zeigt kürzlich erstellte Container an.
-n : Listet die n zuletzt erstellten Container auf.
–no-trunc : Ausgabe nicht abschneiden.
-q : Stiller Modus, zeigt nur die Containernummer an.
-s : Zeigt die gesamte Dateigröße an.
Allgemeine Instanzen listen alle laufenden Containerinformationen auf.

wh@wh-pc:~$ Docker ps
CONTAINER-ID BILDBEFEHL ... PORTNAMEN
09b93464c2f7 Schicksal: neuestes „Fate -g 'Daemon off“ … 80/TCP, 443/TCP MyFate
96f7f14e99ab mysql:5.6 "docker-entrypoint.sh" … 0.0.0.0:3306->3306/tcp mymysql

Ausgabedetails:
CONTAINER ID : Container-ID.
IMAGE : Das zu verwendende Bild.
COMMAND : Der beim Starten des Containers auszuführende Befehl.
CREATED : Der Zeitpunkt, zu dem der Container erstellt wurde.
STATUS : Der Containerstatus.

Es gibt 7 Zustände:

created

restarting

running

removing

paused

exited

dead

PORTS : Die Portinformationen des Containers und der verwendete Verbindungstyp (TCP\UDP).
NAMES : Automatisch zugewiesene Containernamen.

Listen Sie die Informationen der fünf zuletzt erstellten Container auf.

wh@whpc:~$ docker ps -n 5
CONTAINER-ID-BILDBEFEHL ERSTELLT           
09b93464c2f7 fate:latest „fate -g 'daemon off“ vor 2 Tagen ...     
b8573233d675 fate:latest „/bin/bash“ vor 2 Tagen …     
b1a0703e41e7 fate:latest „fate -g 'daemon off“ vor 2 Tagen ...    
f46fb1dec520 5c6e1090e771 „/bin/sh -c 'set -x \t“ vor 2 Tagen …   
a63b4a5597de 860c279d2fec „bash“ vor 2 Tagen ..

Filtern nach Tags

$ docker run -d --name=test-nginx --label Farbe=blau nginx
$ docker ps --filter "Bezeichnung=Farbe"
$ docker ps --filter "Bezeichnung=Farbe=blau"

Nach Namen filtern

$ docker ps --filter "name=test-nginx"

Nach Status filtern

$ docker ps -a --filter 'exited=0'
$ docker ps --filter status=läuft
$ docker ps --filter status=paused

Nach Bild filtern

#Image-Name$ docker ps --filter ancestor=nginx
#Bild-ID
$ docker ps --filter ancestor=d0e008c6cf02

Filtern nach Startreihenfolge

$ docker ps -f before=9c3527ed70ce
$ docker ps -f seit=6e63f6ff38b0

(9) Docker-Inspektion

Befehl Beschreibung
Docker-Inspect: Ruft die Metadaten eines Containers/Images ab.
Grammatik

Docker-Inspektion [OPTIONEN] NAME|ID [NAME|ID…]

OPTIONS-Beschreibung:
-f : Geben Sie die Vorlagendatei für den Rückgabewert an.
-s : Zeigt die gesamte Dateigröße an.
–type : Gibt JSON für den angegebenen Typ zurück.

Gängige Beispiele: Holen Sie sich die Metadaten des Bildes fate:1.6.

wh@wh-pc:~$ docker inspect fate:1.6
[
    {
        "ID": "sha256:2c0964ec182ae9a045f866bbc2553087f6e42bfc16074a74fb820af235f070ec",
        "RepoTags": [
            "Schicksal: 1,6"
        ],
        "RepoDigests": [],
        "Übergeordnet": "",
        "Kommentar": "",
        "Erstellt": "2016-05-24T04:01:41.168371815Z",
        "Container": "e0924bc460ff97787f34610115e9363e6363b30b8efa406e28eb495ab199ca54",
        "ContainerKonfiguration": {
            "Hostname": "b0cf605c7757",
            "Domänenname": "",
            "Benutzer": "",
            "AttachStdin": falsch,
            "AttachStdout": falsch,
            "AttachStderr": false,
            "Offengelegte Ports": {
                "3306/tcp": {}
            },
...

Holen Sie sich die IP des laufenden Containers mymysql.

wh@wh-pc:~$ docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' myfate
192.17.0.3

(10) nach oben

Befehlsbeschreibung Zeigt die Prozessinformationen an, die im Container ausgeführt werden. Unterstützt PS-Befehlsparameter.
Häufige Beispiele

wh@wh-pc:~/mysql$ Docker oben MySQL
UID PID PPID C STIME TTY ZEIT CMD
999 40347 40331 18 00:58 ? 00:00:02 mysqld

Oben finden Sie detaillierte Informationen zu häufig verwendeten Docker-Befehlen und -Beispielen. Weitere Informationen zu Docker-Befehlen und -Beispielen finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Grundlegende Einführung und Verwendung von Befehlen im Zusammenhang mit Docker-Container-Images
  • Zusammenfassung der wichtigsten Docker-Befehle für Entwickler
  • Detaillierte Erklärung gängiger Docker-Befehle
  • Zusammenfassung gängiger Docker-Befehle
  • Zusammenfassung gängiger Docker-Befehle (empfohlen)
  • Eine vollständige Anleitung zur Docker-Befehlszeile (18 Dinge, die Sie wissen müssen)
  • Zusammenfassung zum Erlernen von Docker-Befehlen in einem Artikel
  • Einführung in gängige Docker-Befehle

<<:  Vergleichende Analyse von UI-Anwendungen auf Bild-Social-Networking-Sites (Abbildung)

>>:  Eine kurze Diskussion zur MySQL-Select-Optimierungslösung

Artikel empfehlen

Webdesign-Tutorial (2): Über Nachahmung und Plagiat

<br />Im vorherigen Artikel habe ich die Sch...

Pessimistisches Sperren und optimistisches Sperren in MySQL

In relationalen Datenbanken sind pessimistisches ...

Installation der virtuellen Maschine Kali Linux Vmware (Abbildung und Text)

Vorbereitung: 1. Installieren Sie die VMware Work...

Semantik, Schreiben und bewährte Methoden für Link A

Die Semantik, der Schreibstil und die Best Practi...

Detaillierte Anweisungen zum Download und Installationsprozess von MySQL 5.7.18

MySql herunterladen 1. Öffnen Sie die offizielle ...

So erstellen Sie schnell eine statische Website in der Alibaba Cloud

Vorwort: Als Junior-Programmierer träume ich davo...

MySQL 5.7-Clusterkonfigurationsschritte

Inhaltsverzeichnis 1. Ändern Sie die Datei my.cnf...

WeChat-Applet-Beispiel für die direkte Verwendung von Funktionen in {{ }}

Vorwort Bei der WeChat-Applet-Entwicklung (native...

So installieren Sie MySQL 5.7 aus dem Quellcode in einer CentOS 7-Umgebung

Dieser Artikel beschreibt, wie MySQL 5.7 aus dem ...

Implementieren Sie über 24 Array-Methoden in JavaScript von Hand

Inhaltsverzeichnis 1. Traversal-Klasse 1. fürJede...