Suche…


Syntax

  • Docker-Bilder [OPTIONEN] [WIEDERGABE [: TAG]]
  • Docker inspizieren [OPTIONEN] CONTAINER | IMAGE [CONTAINER | IMAGE ...]
  • Docker ziehen [OPTIONEN] NAME [: TAG | @DIGEST]
  • docker rmi [OPTIONEN] BILD [BILD ...]
  • Docker-Tag [OPTIONEN] IMAGE [: TAG] [REGISTRYHOST /] [Benutzername] /] NAME [: TAG]

Abrufen eines Bildes von Docker Hub

Normalerweise werden Bilder automatisch vom Docker Hub abgerufen . Docker versucht, ein beliebiges Bild von Docker Hub abzurufen, das auf dem Docker-Host noch nicht vorhanden ist. Wenn Sie beispielsweise docker run ubuntu wenn ubuntu Image nicht bereits auf dem Docker-Host vorhanden ist, wird Docker dazu veranlasst, das aktuelle ubuntu Image zu ziehen. Sie können ein Bild separat docker pull , indem Sie ein docker pull , um ein Bild manuell von Docker Hub abzurufen oder zu aktualisieren.

docker pull ubuntu
docker pull ubuntu:14.04

Zusätzliche Optionen zum Abrufen aus einer anderen Image-Registrierung oder zum Abrufen einer bestimmten Version eines Images sind vorhanden. Das Anzeigen einer alternativen Registrierung erfolgt unter Verwendung des vollständigen Image-Namens und der optionalen Version. Mit dem folgenden Befehl wird beispielsweise versucht, das ubuntu:14.04 Image aus der registry.example.com Registry.example.com zu ziehen:

docker pull registry.example.com/username/ubuntu:14.04

Lokal heruntergeladene Bilder auflisten

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              693bce725149        6 days ago          967 B
postgres            9.5                 0f3af79d8673        10 weeks ago        265.7 MB
postgres            latest              0f3af79d8673        10 weeks ago        265.7 MB

Bilder referenzieren

Docker-Befehle, die den Namen eines Bildes annehmen, akzeptieren vier verschiedene Formen:

Art Beispiel
Kurze ID 693bce725149
Name hello-world (Standardeinstellung :latest tag)
Name + Tag hello-world:latest
Verdauen hello-world@sha256:e52be8ffeeb1f374f440893189cd32f44cb166650e7ab185fa7735b7dc48d619

Hinweis: Sie können auf ein Bild nur durch seinen Digest verweisen, wenn dieses Bild ursprünglich mit diesem Digest gezogen wurde. Um den Digest für ein Bild docker images --digests (falls vorhanden), führen Sie docker images --digests .

Bilder entfernen

Der docker rmi Befehl docker rmi wird zum Entfernen von Bildern verwendet:

docker rmi <image name>

Der vollständige Bildname muss verwendet werden, um ein Bild zu entfernen. Wenn das Image nicht zum Entfernen des Registrierungsnamens markiert wurde, muss es angegeben werden. Zum Beispiel:

docker rmi registry.example.com/username/myAppImage:1.3.5

Es ist auch möglich, Bilder nach ihrer ID zu entfernen:

docker rmi 693bce725149

Der Einfachheit halber ist es möglich, Bilder anhand ihrer Bild-ID zu entfernen, indem Sie nur die ersten paar Zeichen der Bild-ID angeben, sofern die angegebene Unterzeichenfolge eindeutig ist:

docker rmi 693

Hinweis: Bilder können auch entfernt werden, wenn vorhandene Container dieses Bild verwenden. docker rmi "hebt" das Bild einfach auf.

Wenn kein Container ein Bild verwendet, wird Müll gesammelt. Wenn ein Container ein Bild verwendet, wird das Bild nach dem Entfernen aller Container, die es verwenden, entfernt. Zum Beispiel:

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED                  STATUS                     PORTS               NAMES
5483657ee07b        hello-world         "/hello"            Less than a second ago   Exited (0) 2 seconds ago                       small_elion

$ docker rmi hello-world
Untagged: hello-world:latest

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED                  STATUS                      PORTS               NAMES
5483657ee07b        693bce725149        "/hello"            Less than a second ago   Exited (0) 12 seconds ago                       small_elion

Entfernen Sie alle Bilder ohne gestartete Container

Um alle lokalen Images zu entfernen, für die noch kein Container gestartet wurde, können Sie eine Auflistung der Images als Parameter bereitstellen:

docker rmi $(docker images -qa)

Alle Bilder entfernen

Wenn Sie Bilder entfernen möchten, unabhängig davon, ob sie einen gestarteten Container haben oder nicht, verwenden Sie das Force-Flag ( -f ):

docker rmi -f $(docker images -qa)

Entfernen Sie baumelnde Bilder

Wenn ein Bild nicht markiert ist und von keinem Container verwendet wird, ist es "baumelnd" und kann wie folgt entfernt werden:

docker images -q --no-trunc -f dangling=true | xargs -r docker rmi

Suchen Sie im Docker Hub nach Bildern

Sie können Docker Hub mit dem Suchbefehl nach Bildern durchsuchen :

docker search <term>

Zum Beispiel:

$ docker search nginx
NAME                      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
nginx                     Official build of Nginx.                        3565      [OK]
jwilder/nginx-proxy       Automated Nginx reverse proxy for docker c...   717                  [OK]
richarvey/nginx-php-fpm   Container running Nginx + PHP-FPM capable ...   232                  [OK]
...

Bilder prüfen

docker inspect <image>

Die Ausgabe erfolgt im JSON-Format. Sie können das jq um nur die gewünschten Schlüssel zu analysieren und zu drucken.

docker inspect <image> | jq -r '.[0].Author'

Der obige Befehl zeigt den Autorennamen der Bilder.

Bilder kennzeichnen

Das Markieren eines Bildes ist nützlich, um verschiedene Bildversionen zu verfolgen:

docker tag ubuntu:latest registry.example.com/username/ubuntu:latest

Ein weiteres Beispiel für das Tagging:

docker tag myApp:1.4.2 myApp:latest
docker tag myApp:1.4.2 registry.example.com/company/myApp:1.4.2

Speichern und Laden von Docker-Bildern

docker save -o ubuntu.latest.tar ubuntu:latest

Dieser Befehl speichert das ubuntu:latest Abbild als Tarball-Archiv im aktuellen Verzeichnis mit dem Namen ubuntu.latest.tar . Dieses Archivarchiv kann dann auf einen anderen Host verschoben werden, z. B. mit rsync , oder im Speicher archiviert werden.

Nach dem Verschieben des Archivs erstellt der folgende Befehl ein Bild aus der Datei:

docker load -i /tmp/ubuntu.latest.tar

Es ist jetzt möglich, Container aus dem ubuntu:latest Image wie gewohnt zu erstellen.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow