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

Einsteigerleitfaden für die Docker-Welt

Docker:Einführung

Docker ist ein offenes Plattformverwaltungstool für Linux-Container. Es bietet Entwicklern und Systemadministratoren die Möglichkeit, Anwendungen zu erstellen und in leichtgewichtigen Containern zu verpacken. Docker besteht aus den folgenden Komponenten:

  • Docker-Engine – Ein tragbares, leichtes Laufzeit- und Paketierungstool
  • Docker-Hub – Ein Cloud-Dienst zum Teilen von Anwendungen und Automatisieren von Arbeitsabläufen

Docker wird verwendet, um Image-basierte Anwendungscontainer zu erstellen. Image-basierte Container packen eine Anwendung mit dem individuellen Runtime-Stack in einen einzigen Container. Dadurch wird der Container unabhängig vom Host-Betriebssystem und der Kernel-Version. Infolgedessen können Sie dieselbe Anwendung unverändert auf Laptops, virtuellen Maschinen im Rechenzentrum und jeder Cloud ausführen. Sie können diesen Container ohne Kompatibilitätsprobleme auf einen anderen Computer übertragen, auf dem Docker ausgeführt wird und auf dem die Anwendung ausgeführt wird.

Im Folgenden werden weitere Vorteile der Ausführung von Anwendungen in Docker-Containern aufgelistet:

  • Docker-Images enthalten nur den Inhalt, der zum Ausführen einer Anwendung erforderlich ist, sodass sie kleiner sind als virtuelle Maschinen, die das gesamte Betriebssystem benötigen.
  • Ein Docker-Container läuft schneller als eine Anwendung, die den Overhead einer ganzen virtuellen Maschine beinhaltet.
  • Ein Docker-Container enthält seine eigenen Netzwerkschnittstellen, sein eigenes Dateisystem und seinen eigenen Speicher, wodurch die im Container ausgeführte Anwendung von anderen Prozessen auf dem Hostcomputer isoliert und gesichert werden kann.

Docker-Images

Docker-Container werden aus Docker-Images erstellt. Sie erstellen Docker-Container, um Ihre Anwendungen aus diesen Docker-Images auszuführen. Das folgende Beispiel erstellt einen Docker-Container namens „test“ aus einem Docker-Image namens centos:7“ und führt /bin/bash.

aus
# docker create --name test centos:7 /bin/bash
Unable to find image 'centos:7' locally
Trying to pull repository docker.io/library/centos ... 
7: Pulling from docker.io/library/centos
469cfcc7a4b3: Pull complete 
Digest: sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16
Status: Downloaded newer image for docker.io/centos:7
a79ce1655f2ca17c7ac8cc15f307ba0bb438fbebd4595568df3433dd5ff79b73

Images sind schreibgeschützte Vorlagen, die ein vollständiges Betriebssystem mit installierten Diensten und zusätzlichen Anwendungen enthalten können. Docker bietet die Möglichkeit, Images zu erstellen oder vorhandene Images zu aktualisieren. Sie können Docker-Images über die Befehlszeile erstellen oder die Anweisungen zum Erstellen eines Images in einer Docker-Datei speichern. Docker liest diese Docker-Datei und führt die Anweisungen aus, wenn Sie die Erstellung eines Docker-Images initiieren.

Jedes Bild beginnt mit einem Basisbild (z. B. Centos). Jedes Docker-Image besteht aus einer Reihe von Ebenen, die aus diesen Basisimages erstellt werden. Jede Anweisung in der Dockerfile erstellt eine neue Ebene im Bild. Jedes Mal, wenn Sie eine Änderung an einem Docker-Image vornehmen, wird nur diese Ebene aktualisiert oder hinzugefügt. Docker verwendet unionfs, um diese Ebenen zu einem einzigen Image zu kombinieren. Der Dateisystemdienst unionfs ermöglicht das Überlagern von Dateien und Verzeichnissen verschiedener Dateisysteme in einem einzigen Dateisystem.

Nachdem Sie ein Docker-Image erstellt haben, können Sie die Images freigeben, indem Sie sie in Docker-Registrierungen speichern. Diese Register können privat oder öffentlich sein. Docker Hub ist die öffentliche Docker-Registrierung, die als Software-as-a-Service-Plattform für die gemeinsame Nutzung und Verwaltung von Docker-Containern fungiert.

So installieren Sie Docker auf CentOS / RHEL / Fedora
So installieren Sie Docker auf einem Mac

Die Docker-Hub-Registrierung

Die Docker-Hub-Registrierung hostet Anwendungen als Docker-Images und stellt Dienste bereit, mit denen Sie eine Docker-Umgebung erstellen und verwalten können. Die Docker-Hub-Registrierung ist Eigentum von Docker, Inc. und wird von Docker, Inc. verwaltet. Sie befindet sich unter https://registry.hub.docker.com/.

Docker Hub bietet eine Reihe von Repositorys und jedes Repository kann eine Reihe von Images enthalten. Neben dem Hosten von Docker-Images bietet Docker Hub Dienste wie Benutzerauthentifizierung, automatisierte Image-Builds und Workflow-Tools sowie die Integration mit GitHub und BitBucket. Um diese Docker-Dienste nutzen zu können, müssen Sie ein Docker-Hub-Konto erstellen. Sie können ein Konto unter https://hub.docker.com/account/signup/ erstellen. Sie können ein Konto auch über die Befehlszeile erstellen, indem Sie den folgenden Befehl verwenden:

# docker login
So erstellen Sie ein öffentliches/privates Repository in Docker Hub und verbinden es remote über die Befehlszeile

Sie können nach Docker-Images suchen und Images vom Docker-Hub ziehen (herunterladen), ohne ein Konto zu haben. Um Bilder zu pushen (hochzuladen), Kommentare zu einem Bild oder Repository zu hinterlassen und alle verfügbaren Docker-Hub-Dienste zu nutzen, benötigen Sie ein Docker-Hub-Konto.

Installieren und Starten von Docker

Das Installieren und Starten des Docker-Dienstes ist eine einfache Aufgabe. Sie können den folgenden Befehl verwenden, um das Docker-Paket zu installieren:

# yum install docker

Verwenden Sie den Befehl systemctl, um den Docker-Dienst zu aktivieren und zu starten.

# systemctl enable docker
# systemctl start docker

Standardmäßig verwendet Docker Devicemapper als Speichertreiber. Mit RedHat Linux 7 können Sie die Docker-Engine für die Verwendung von Btrfs konfigurieren. Dadurch können Sie die Snapshot-Funktionen von Btrfs nutzen. Der folgende Befehl zeigt alle Dateien an, die aus dem Docker-Paket installiert werden:

# rpm -ql docker
/etc/docker
/etc/docker/certs.d
/etc/docker/certs.d/redhat.com
/etc/docker/certs.d/redhat.com/redhat-ca.crt
/etc/docker/certs.d/redhat.io
/etc/docker/certs.d/redhat.io/redhat-ca.crt
...

Sie können sehen, dass zusätzlich zu den Docker-Binärdateien und Konfigurationsdateien Dokumentation und Manpages für alle Docker-Befehle installiert sind. Das Verzeichnis /var/lib/docker ist leer, bis der Docker-Dienst gestartet wird. Die folgende Befehlsfolge zeigt den Inhalt des Verzeichnisses vor und nach dem Start von Docker an.

# ls /var/lib/docker
# systemctl enable docker
# systemctl start docker
# ls /var/lib/docker
containers graph linkgraph.db tmp volumes devicemapper init repositories-devicemapper trust

Das Docker-Dienstprogramm

Die Docker-Befehlszeilenschnittstelle hat über 30 Befehle. Eine Liste der Befehle finden Sie auf der Docker-Manpage. Der Befehl docker info zeigt systemweite Informationen zur Docker-Installation an. Weitere Informationen finden Sie auf der Manpage docker-info. Beachten Sie, dass der Standardspeichertreiber Devicemapper ist und dass Daten und Metadaten in Loop-Geräten gespeichert werden:/dev/loop0 und /dev/loop1.

# docker info
Containers: 1
 Running: 0
 Paused: 0
 Stopped: 1
Images: 1
Server Version: 1.13.1
Storage Driver: overlay2
 Backing Filesystem: xfs
 Supports d_type: false
 Native Overlay Diff: true
Logging Driver: journald
...

Andere Benutzer als root können Docker-Befehle ausführen, wenn Sie sie zur Docker-Gruppe hinzufügen und den Docker-Dienst neu konfigurieren.

Durchsuchen der Docker-Hub-Registrierung nach Images

Verwenden Sie den Docker-Suchbefehl, um den Docker-Hub nach Bildern zu durchsuchen. Unten sehen Sie die Ausgabe des Befehls „docker search“:

# docker search centos
INDEX       NAME                                         DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/centos                             The official build of CentOS.                   4207      [OK]       
docker.io   docker.io/ansible/centos7-ansible            Ansible on Centos7                              108                  [OK]
docker.io   docker.io/jdeathe/centos-ssh                 CentOS-6 6.9 x86_64 / CentOS-7 7.4.1708 x8...   94                   [OK]
docker.io   docker.io/consol/centos-xfce-vnc             Centos container with "headless" VNC sessi...   52                   [OK]
docker.io   docker.io/imagine10255/centos6-lnmp-php56    centos6-lnmp-php56                              40                   [OK]
...

Dieser Befehl durchsucht den Docker-Hub nach „centos“-Images. Die Ausgabe enthält den Namen des Repositorys/Bildes, eine Beschreibung, die Anzahl der vergebenen Sterne, ob das Bild offiziell ist und ob es automatisiert ist. Die Namensspalte hat die folgende Form und kann das enthaltende Repository enthalten, um eine eindeutige Identifizierung bereitzustellen:

[repository_name]/[image_name]

Sterne messen die Beliebtheit von Bildern. Jeder mit einem Docker-Hub-Konto kann ein Bild markieren, wenn es ihm gefällt. Das folgende Beispiel sucht nach „centos“-Bildern mit mindestens 3 Sternen:

# docker search -s 3 centos
Flag --stars has been deprecated, use --filter=stars=3 instead
INDEX       NAME                                        DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/centos                            The official build of CentOS.                   4207      [OK]       
docker.io   docker.io/ansible/centos7-ansible           Ansible on Centos7                              108                  [OK]
docker.io   docker.io/jdeathe/centos-ssh                CentOS-6 6.9 x86_64 / CentOS-7 7.4.1708 x8...   94                   [OK]
...

Ein „offizielles“ Repository wird von einem Anbieter oder Mitwirkenden für Docker zertifiziert. Ein „automatisiertes“ Image wird durch den automatisierten Build-Prozess von Docker Hub erstellt.

Bilder von Docker Hub herunterladen

Verwenden Sie den Befehl „docker pull“, um ein Image oder ein Repository aus der Docker-Hub-Registrierung auf Ihr lokales System herunterzuladen. Das folgende Beispiel ruft das Bild centos:latest ab.

# docker pull centos
Using default tag: latest
Trying to pull repository docker.io/library/centos ... 
latest: Pulling from docker.io/library/centos
Digest: sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16
Status: Downloaded newer image for docker.io/centos:latest

Verwenden Sie den Befehl „docker images“, um Bilder aufzulisten, die im lokalen Docker-Repository gespeichert sind.

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/centos    7                   e934aafc2206        2 weeks ago         199 MB
docker.io/centos    latest              e934aafc2206        2 weeks ago         199 MB

Jedes Bild in einem Repository wird durch TAG und BILD-ID unterschieden.

Das Folgende zeigt den Speicherort der Docker-Konfigurationsdateien.

# cd /var/lib/docker/
# ll
total 4
drwx------. 3 root root   77 Apr 21 07:57 containers
drwx------. 3 root root   21 Apr 21 07:56 image
drwxr-x---. 3 root root   18 Apr 21 07:56 network
drwx------. 6 root root 4096 Apr 21 07:57 overlay2
drwx------. 4 root root   30 Apr 21 07:56 plugins
drwx------. 2 root root    6 Apr 21 07:56 swarm
drwx------. 2 root root    6 Apr 21 07:57 tmp
drwx------. 2 root root    6 Apr 21 07:56 trust
drwx------. 2 root root   24 Apr 21 07:56 volumes
So listen / suchen / ziehen Sie Docker-Images unter Linux

Eine Anwendung in einem Container ausführen

Verwenden Sie den docker run-Befehl, um eine Anwendung in einem Container auszuführen. Dieser Befehl startet einen Prozess mit einem eigenen Dateisystem, einem eigenen Netzwerk und einem eigenen isolierten Prozessbaum. Die folgende Syntax enthält nicht alle verfügbaren Optionen für den Befehl:

# docker run [OPTION...] IMAGE [COMMMAND] {ARG...]

Das IMAGE, das den Prozess startet, kann Standardwerte in Bezug auf den im Container auszuführenden Prozess, das Netzwerk und mehr definieren, aber Docker-Ausführungsoptionen überschreiben die Einstellungen im IMAGE. Wenn das IMAGE nicht lokal verfügbar ist, zieht docker run das Image auf die gleiche Weise wie der docker pull-Befehl, bevor es den Container im IMAGE startet.

Unten sehen Sie zwei Beispiele für die Verwendung von docker run. Das erste Beispiel verwendet das „centos“-Image, das bereits auf dem lokalen Computer vorhanden ist. Docker verwendet das Image, um eine neue CentOS-Umgebung zu erstellen, und führt dann den echo-Befehl aus, um „Hello“ anzuzeigen.

# docker run centos /bin/echo "Hello"
Hello

Das zweite Beispiel verwendet das Fedora-Image, das auf dem lokalen System nicht vorhanden ist. Docker zieht das Image aus Docker Hub und verwendet dann das Image, um eine neue Fedora-Umgebung zu erstellen, und führt den echo-Befehl aus.

# docker run fedora /bin/echo "Hello"
Unable to find image 'fedora:latest' locally
Trying to pull repository docker.io/library/fedora ... 
latest: Pulling from docker.io/library/fedora
2176639d844b: Pull complete 
Digest: sha256:ec588fc80b05e19d3006bf2e8aa325f0a2e2ff1f609b7afb39176ca8e3e13467
Status: Downloaded newer image for docker.io/fedora:latest
Hello

In beiden Beispielen stoppen die Docker-Container, nachdem „Hello“ auf dem Bildschirm angezeigt wird. Verwenden Sie den Befehl docker ps, um Container aufzulisten, und es werden keine Container angezeigt:

# docker ps

Das liegt daran, dass „docker ps“ nur aktuell laufende Container anzeigt. Um alle Container einschließlich der gestoppten anzuzeigen, verwenden Sie den Befehl „docker ps -a“.

# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS                          PORTS               NAMES
7b772ea59c92        fedora              "/bin/echo Hello"   25 seconds ago       Exited (0) 23 seconds ago                           vigilant_haibt
263e715ae13c        centos              "/bin/echo Hello"   About a minute ago   Exited (0) About a minute ago                       condescending_aryabhata
a79ce1655f2c        centos:7            "/bin/bash"         4 hours ago          Created                                             test

Der Befehl „docker images“ zeigt, dass das „neueste“ Image aus dem „fedora“-Repository von Docker Hub heruntergeladen wurde, wenn der Befehl „docker run“ verwendet wird:

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/centos    7                   e934aafc2206        2 weeks ago         199 MB
docker.io/centos    latest              e934aafc2206        2 weeks ago         199 MB
docker.io/fedora    latest              9110ae7f579f        6 weeks ago         235 MB

Ausführen eines interaktiven Docker-Containers

Verwenden Sie das –t und –i Optionen mit dem Befehl docker run, um einen interaktiven Container auszuführen. Diese Optionen werden beschrieben:

  • -t :Pseudo-TTY zuweisen und an STDIN (Standardeingabe) eines Containers anhängen
  • -ich :STDIN eines Containers offen halten

Unten sehen Sie zwei Beispiele für die Verwendung von Docker-Run-Befehlen mit den Optionen –t und –i. In beiden Beispielen läuft CentOS Linux 7.4 auf dem lokalen System:

# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core)

Das erste Beispiel verwendet das Bild „centos:7“. Docker verwendet das Image, um eine neue CentOS-Umgebung zu erstellen, und führt dann den Bash-Shell-Befehl aus. Die Betriebssystemversion dieses Images ist CentOS 7.

# docker run -t -i centos:7 /bin/bash
[root@b3e1316c4653 /]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core) 

Das zweite Beispiel verwendet das Ubuntu-Image. Da kein bestimmtes Image angegeben wurde, verwendet Docker das „neueste“ Ubuntu-Image, um eine neue Ubuntu-Umgebung zu erstellen, und führt dann den Bash-Shell-Befehl aus. Die Betriebssystemversion dieses Images ist Ubuntu 16.04.4. Da das Ubuntu-Image nicht lokal verfügbar ist, lädt Docker es zuerst aus dem Repository herunter und führt es dann aus.

# docker run -t -i ubuntu /bin/bash
Unable to find image 'ubuntu:latest' locally
Trying to pull repository docker.io/library/ubuntu ... 
latest: Pulling from docker.io/library/ubuntu
d3938036b19c: Pull complete 
a9b30c108bda: Pull complete 
67de21feec18: Pull complete 
817da545be2b: Pull complete 
d967c497ce23: Pull complete 
Digest: sha256:9ee3b83bcaa383e5e3b657f042f4034c92cdd50c03f73166c145c9ceaea9ba7c
Status: Downloaded newer image for docker.io/ubuntu:latest
root@9ee24718262c:/# cat /etc/os-release 
NAME="Ubuntu"
VERSION="16.04.4 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.4 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial

Sie können den Exit-Befehl verwenden oder STRG + D drücken, um einen interaktiven Container zu verlassen.

Auflisten von Containern und Anzeigen von Containerprotokollen

Verwenden Sie den Befehl docker ps, um Informationen zu Docker-Containern aufzulisten. Standardmäßig werden nur laufende Container aufgelistet. Fügen Sie das –a hinzu Option mit dem Befehl docker ps, um alle Container anzuzeigen. Die Ausgabe enthält eine eindeutige Container-ID und einen eindeutigen Containernamen, die automatisch generiert werden, wenn der Container erstellt wird. Die Ausgabe des Befehls docker ps enthält auch das Image, das zum Erstellen des Containers verwendet wurde, den Befehl, der im Container ausgeführt wird, und Statusinformationen. Statusinformationen enthalten, wann der Container erstellt wurde und wie lange der Container ausgeführt wurde.

# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                       PORTS               NAMES
9ee24718262c        ubuntu              "/bin/bash"         3 minutes ago       Exited (127) 2 seconds ago                       modest_turing
b3e1316c4653        centos:7            "/bin/bash"         6 minutes ago       Exited (0) 4 minutes ago                         gracious_pare
7b772ea59c92        fedora              "/bin/echo Hello"   18 minutes ago      Exited (0) 18 minutes ago                        vigilant_haibt
263e715ae13c        centos              "/bin/echo Hello"   19 minutes ago      Exited (0) 19 minutes ago                        condescending_aryabhata
a79ce1655f2c        centos:7            "/bin/bash"         4 hours ago         Created                                          test

Der Befehl docker logs schaut in den Container und gibt seine Standardausgabe zurück. Sie können entweder die Container-ID oder den Containernamen als Argument für den Befehl verwenden.

# docker logs b3e1316c4653
[root@b3e1316c4653 /]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core) 
[root@b3e1316c4653 /]# exit
exit

Im obigen Beispiel zeigt der Befehl docker logs, dass der Befehl „cat /etc/redhat-release“ im Container ausgeführt wurde. Die Befehle docker ps und docker logs müssen von außerhalb des Containers ausgeführt werden, d. h. von einem anderen Terminalfenster aus.

Alle Informationen zu einem Container oder Bild anzeigen

Verwenden Sie den Befehl docker inspect, um alle für einen Container oder ein Image verfügbaren Informationen anzuzeigen. Das folgende Beispiel zeigt einige der angezeigten Informationen. Verwenden Sie das –f {{.section.subsection}} Möglichkeit, eine bestimmte Information anzuzeigen. Das folgende Beispiel zeigt nur Netzwerkeinstellungen:

# docker inspect -f {{.NetworkSettings}} modest_turing
{{ 98e04ea6d68753022ae2212b06b1514323927a1ed117448bc70ea3fa9a2f4a06 false  0 map[] /var/run/docker/netns/98e04ea6d687 [] []} {   0  0  } map[bridge:0xc4200c0300]}

Das folgende Beispiel zeigt die IP-Adresse:

# docker inspect -f {{.NetworkSettings.IPAddress}} modest_turing
172.17.0.10

Das folgende Beispiel zeigt die Prozess-ID:

# docker inspect -f {{.State.Pid}} modest_turing
7181

Das folgende Beispiel zeigt den im Container ausgeführten Befehl:

# docker inspect -f {{.Config.Cmd}} modest_turing
[/bin/bash]

Wenn Sie alle Optionen/Eigenschaften des Containers anzeigen möchten, verwenden Sie keine Option mit „docker inspect“:

# docker inspect modest_turing
[
    {
        "Id": "9ee24718262c9f7ed3320019163a8b1b2bb1bccc83eb362a5512a74eaa4ad57f",
        "Created": "2018-04-21T12:22:21.983441857Z",
        "Path": "/bin/bash",
        "Args": [],
        "State": {
....

Dies wird eine ziemlich lange Ausgabe sein, die alle Eigenschaften des Containers zeigt.

Erstellen eines neuen Containers

Der Befehl docker run führt einen Prozess in einem neuen Container aus. Sie können auch den Befehl docker create verwenden, um einen Container zu erstellen, den Sie zu einem späteren Zeitpunkt starten können. Die Syntax und die verfügbaren Optionen für docker create ähneln der docker run-Syntax.

Das folgende Beispiel erstellt einen neuen Container namens „geeklab“ aus dem Centos:7-Image und führt beim Start den Bash-Shell-Befehl aus. Wenn Sie die Option –name weglassen, wird automatisch ein Containername generiert.

# docker create -t -i --name geeklab centos:7 /bin/bash
667fd40faeb69113d035f08e5a910275a8463aa2a6a0796833f590e878732e17

Die Ausgabe des Befehls ist eine sehr lange eindeutige Container-ID. Der Container startet nicht sofort, wie der Befehl docker ps zeigt, der standardmäßig nur laufende Container anzeigt:

# docker ps

Sie müssen „docker ps -a“ ausführen, um alle Container anzuzeigen. Das Beispiel leitet die Ausgabe an grep weiter und durchsucht einen Teil der Container-ID:

# docker ps -a | grep 667fd
667fd40faeb6        centos:7            "/bin/bash"         About a minute ago   Created        geeklab

Starten, Stoppen und Entfernen eines Containers

Verwenden Sie den „Docker-Start“. “-Befehl, um einen vorhandenen Container zu starten. Verwenden Sie das –a und –i Optionen, um STDIN (Standardeingabe), STDOUT (Standardausgabe) und STDERR (Standardfehler) der aktuellen Shell an den Container anzuhängen und auch zu bewirken, dass alle Signale an den Container weitergeleitet werden.

# docker start -a -i geeklab
[root@667fd40faeb6 /]#

Verwenden Sie innerhalb eines Containers den Exit-Befehl oder STRG-d, um den Container zu stoppen. Verwenden Sie von außerhalb des Containers, d. h. von einem anderen Terminalfenster aus, den Befehl docker stop, um einen Container zu stoppen.

# docker stop geeklab

Verwenden Sie den „Docker-RM “-Befehl zum Entfernen eines Containers. Sie können mehrere Container mit einem einzigen Befehl entfernen. Verwenden Sie das –f Option zum Entfernen eines laufenden Containers.

# docker rm geeklab
geeklab

Alle drei dieser Docker-Befehle akzeptieren entweder die Container-ID oder den Containernamen als Argument.

Der Befehl docker rm entfernt einen Container. Verwenden Sie den Docker-rmi-Befehl, um ein Bild zu entfernen:

# docker rmi [IMAGE]
Docker-Container auflisten / starten / stoppen / löschen

Zusätzliche Befehle in einem laufenden Container ausführen

Verwenden Sie den docker exec-Befehl, um einen Befehl in einem laufenden Container auszuführen. Schließen Sie ähnlich wie beim Befehl docker run die Optionen –t und –i ein, um einen interaktiven Befehl auszuführen. Geben Sie entweder die Container-ID oder den Containernamen als Argument an.

Im folgenden Beispiel startet der Befehl docker exec eine neue interaktive Bash-Shell im „guest“-Container:

# docker exec -t -i geeklab /bin/bash
[root@68b5b713c37b /]# 

Das folgende Beispiel verwendet den docker exec-Befehl, um den sshd-Dienst auf dem „geeklab“-Container zu starten. Auf dem „geeklab“-Container läuft CentOS 6.4. In diesem Beispiel werden die Optionen -t und -i nicht benötigt.

# docker exec guest service sshd start 
Generating SSH2 RSA host key:                    [ OK ] 
Generating SSH1 RSA host key:                    [ OK ] 
Generating SSH2 DSA host key:                    [ OK ] 
Starting sshd:                                   [ OK ]

Der sshd-Dienst wird auf dem Container gestartet und die Kontrolle kehrt zum initiierenden Hostsystem zurück.


Docker
  1. Eine Anleitung zum Linux-Terminal für Anfänger

  2. Der Unterschied zwischen CMD und ENTRYPOINT in Docker-Images

  3. Eine Kurzanleitung zur Verwendung von Docker Compose

  4. So ändern Sie Docker-Images

  5. Wie erhalte ich die Liste der abhängigen untergeordneten Bilder in Docker?

So aktualisieren Sie Docker-Images auf die neueste Version

Docker für Mac:Die vollständige Installationsanleitung

So installieren und verwenden Sie Docker unter Ubuntu (in der realen Welt)

Vollständige Anleitung zum Entfernen von Docker-Images

Teilen von Docker-Images auf Docker Hub

Arbeiten mit Docker-Images über die Befehlszeile