Sök…


Syntax

  • docker images [OPTIONS] [REPOSITORY [: TAG]]
  • docker inspektera [OPTIONS] CONTAINER | IMAGE [CONTAINER | IMAGE ...]
  • docker pull [OPTIONS] NAME [: TAG | @DIGEST]
  • docker rmi [OPTIONS] IMAGE [IMAGE ...]
  • docker tag [OPTIONS] IMAGE [: TAG] [REGISTRYHOST /] [USERNAME /] NAME [: TAG]

Hämtar en bild från Docker Hub

Vanligtvis dras bilder automatiskt från Docker Hub . Docker kommer att försöka dra någon bild från Docker Hub som inte redan finns på Docker-värden. Om du till exempel använder docker run ubuntu när ubuntu bilden inte redan finns på Docker-värden kommer Docker att initiera en dragning av den senaste ubuntu bilden. Det är möjligt att dra en bild separat med hjälp av docker pull att manuellt hämta eller uppdatera en bild från Docker Hub.

docker pull ubuntu
docker pull ubuntu:14.04

Ytterligare alternativ för att dra från ett annat bildregister eller dra en specifik version av en bild finns. Indikerar ett alternativt register görs med fullständigt bildnamn och valfri version. Exempelvis kommer följande kommando att försöka dra ubuntu:14.04 bilden från registry.example.com registret:

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

Visar lokalt nedladdade bilder

$ 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

Referera bilder

Docker-kommandon som tar namnet på en bild accepterar fyra olika former:

Typ Exempel
Kort ID 693bce725149
namn hello-world (som standard :latest taggen)
Namn + tagg hello-world:latest
Smälta hello-world@sha256:e52be8ffeeb1f374f440893189cd32f44cb166650e7ab185fa7735b7dc48d619

Obs! Du kan bara hänvisa till en bild efter dess digest om den bilden ursprungligen drogs med denna digest. För att se uppfattningen för en bild (om en är tillgänglig) kör docker images --digests .

Ta bort bilder

docker rmi används för att ta bort bilder:

docker rmi <image name>

Det fullständiga bildnamnet måste användas för att ta bort en bild. Om inte bilden har taggats för att ta bort registernamnet, måste den anges. Till exempel:

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

Det är också möjligt att ta bort bilder med deras ID istället:

docker rmi 693bce725149

Som en bekvämlighet är det möjligt att ta bort bilder med deras bild-ID genom att endast ange de första tecknen i bild-ID, så länge den angivna substrängen är otvetydig:

docker rmi 693

Obs! Bilder kan tas bort även om det finns befintliga behållare som använder den bilden; docker rmi helt enkelt "avmarkerar" bilden.

Om inga behållare använder en bild, samlas det i skräp. Om en behållare använder en bild kommer bilden att samlas in efter att alla behållare som använder den har tagits bort. Till exempel:

$ 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

Ta bort alla bilder utan påbörjade behållare

För att ta bort alla lokala bilder som inte har startade behållare kan du ange en lista över bilderna som en parameter:

docker rmi $(docker images -qa)

Ta bort alla bilder

Om du vill ta bort bilder oavsett om de har en startad behållare eller inte, använd kraftflaggan ( -f ):

docker rmi -f $(docker images -qa)

Ta bort dinglande bilder

Om en bild inte är taggad och inte används av någon behållare, är den "dinglande" och kan tas bort så här:

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

Sök i Docker Hub efter bilder

Du kan söka i Docker Hub efter bilder med hjälp av sökkommandot :

docker search <term>

Till exempel:

$ 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]
...

Inspekterar bilder

docker inspect <image>

Utgången är i JSON-format. Du kan använda jq kommandoradsverktyget för att analysera och skriva ut endast önskade tangenter.

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

Ovanstående kommando visar författarens namn på bilderna.

Märka bilder

Att märka en bild är användbart för att hålla reda på olika bildversioner:

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

Ett annat exempel på tagging:

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

Spara och ladda Docker-bilder

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

Detta kommando sparar ubuntu:latest bilden som ett tarball-arkiv i den aktuella katalogen med namnet ubuntu.latest.tar . Detta tarballarkiv kan sedan flyttas till en annan värd, till exempel med hjälp av rsync , eller arkiveras i lagring.

När tarballen har flyttats skapar följande kommando en bild från filen:

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

Nu är det möjligt att skapa containrar från ubuntu:latest bilden som vanligt.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow