Was ist ein Docker-Container
Eine laufende Instanz eines Images wird als Container bezeichnet. Docker startet sie mit den Docker-Images als schreibgeschützte Vorlagen. Wenn Sie ein Image starten, haben Sie einen laufenden Container dieses Images. Natürlich können Sie viele laufende Container desselben Images haben. Wir verwenden den Befehl „docker run ” um einen Container auszuführen.
Docker-Container auflisten
Führen Sie den folgenden Befehl aus, um die Container aufzulisten:
# docker ps [ OPTIONS ]
Um sowohl laufende als auch angehaltene Container aufzulisten, verwenden Sie die Option -a wie folgt:
# docker ps -a
hier
CONTAINER-ID – Eindeutige ID für alle Container.
IMAGE – Basis-Image, von dem aus der Container gestartet wurde.
KOMMANDO – Befehl, der beim Start des Containers verwendet wurde (Standard ist /bin/bash, wenn Sie keinen Befehl mit „docker run“ angeben).
ERSTELLT – Zeitpunkt, zu dem der Container erstellt wurde.
STATUS – Der aktuelle Status des Containers (Up oder Exited).
PORTS – Falls vorhanden, Portnummern, die an den Docker-Host für die Kommunikation mit der Außenwelt weitergeleitet werden.
NAMEN – Der Dockers-Daemon benennt den Cluster auf seltsame Weise. Du kannst aber auch deinen eigenen Namen angeben, während du einen Container spawnst.
Um nur die Container-ID aufzulisten, verwenden Sie -aq Option.
# docker ps -qa eeae1186ea78 52249ba75f0f 709773bb7128
So listen Sie den zuletzt erstellten Container auf (laufend oder gestoppt):
# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES eeae1186ea78 centos "/bin/bash" About a minute ago Up About a minute modest_hypatia
Starten eines Docker-Containers
Verwenden Sie den folgenden Befehl, um einen Docker-Container zu starten:
# docker run [ OPTIONS ] IMAGE[:TAG] [COMMAND] [ARG...]
Zum Beispiel:
# docker run -i -t --name=centos7_lab centos:latest /bin/bash
hier,
-ich :Startet den Container im interaktiven Modus.
-t :Weist ein Pseudo-TTY zu und hängt es an die Standardeingabe
–name an :Benutzerfreundlicher Name für den Container. Wenn der Name nicht angegeben wird, wird eine zufällige Zeichenfolge als Containername zugewiesen.
Wenn Sie einen Docker-Befehl mit -t ausführen, werden Sie sofort an den Container angehängt und sehen, dass sich die Eingabeaufforderung geändert hat. Mit dem Befehl „exit“ können Sie den Container verlassen.
Hinweis :Wenn Sie einen „docker run“-Befehl ausführen und das iamge nicht lokal auf dem System verfügbar ist, wird es zuerst mit den Befehlen „docker search“ und „docker pull“ aus der Registrierung heruntergeladen, bevor der Befehl „docker run“ ausgeführt wird.
In allen obigen Beispielen werden Sie beim Starten des Containers automatisch angemeldet. Und wenn Sie den Container verlassen, wird der Container gestoppt. Sie können den Container auch nach dem Abmelden mit -d weiterlaufen lassen Möglichkeit. Zum Beispiel:
# docker run -itd --name=geeklab centos:latest /bin/bash cae760f70ec4bd232891364824773c2a3cac8f7854261108c474d304e6a5c5fa
Hier
-d – Führt den Container im Hintergrund aus und druckt die Container-ID.
Stoppen eines Docker-Containers
Sie können einen oder mehrere (alle) Container gleichzeitig stoppen. Die Syntax des Befehls zum Stoppen eines Docker-Containers lautet:
docker stop [-t|--time[=10]] CONTAINER [CONTAINER...]
Hier
–time/-t ist eine Karenzzeit, die gewartet werden muss, bevor der Container gestoppt wird.
Überprüfen Sie zum Beispiel zuerst, welcher Container ausgeführt wird.
# docker ps -q eeae1186ea78
Verwenden Sie nun den folgenden Befehl, um den obigen Container zu stoppen.
# docker stop eeae1186ea78 eeae1186ea78
Führen Sie den folgenden Befehl aus, um alle Container zu stoppen:
# docker stop `docker ps -q`
Docker-Container löschen
Verwenden Sie zum Löschen des Docker-Containers die folgende Syntax:
# docker rm [ OPTIONS ] CONTAINER [ CONTAINER ]
Zum Beispiel:
# docker rm eeae1186ea78 eeae1186ea78
Um einen Container zu löschen, müssen wir ihn zuerst stoppen. Wenn Sie beispielsweise versuchen, einen laufenden Container zu löschen, erhalten Sie folgende Fehlermeldung:
# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cae760f70ec4 centos:latest "/bin/bash" 4 minutes ago Up 4 minutes geeklab
# docker rm cae760f70ec4 Error response from daemon: You cannot remove a running container cae760f70ec4bd232891364824773c2a3cac8f7854261108c474d304e6a5c5fa. Stop the container before a ttempting removal or force remove
Um den Container also zu löschen, halten Sie ihn zuerst an und löschen Sie ihn dann.
# docker stop cae760f70ec4 cae760f70ec4
# docker rm cae760f70ec4 cae760f70ec4
Um einen Container zwangsweise zu löschen, ohne ihn anzuhalten, verwenden Sie -f Option.
# docker rm -f 18a1924e8499 18a1924e8499
Um alle Container auf einmal zu löschen, halten Sie sie zuerst alle an und löschen Sie sie dann.
# docker stop `docker ps -q` # docker rm `docker ps -aq`Docker-Fehlerbehebung – „Konflikt:Löschen nicht möglich, Image wird vom laufenden Container verwendet“
So installieren Sie Docker unter CentOS / RHEL / Fedora