Zoeken…


Syntaxis

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

Een afbeelding ophalen van Docker Hub

Gewoonlijk worden afbeeldingen automatisch opgehaald uit Docker Hub . Docker probeert een afbeelding uit Docker Hub op te halen die nog niet bestaat op de Docker-host. Als u bijvoorbeeld Docker gebruikt, docker run ubuntu wanneer de ubuntu afbeelding nog niet op de Docker-host staat, zorgt Docker ervoor dat de nieuwste ubuntu afbeelding wordt ubuntu . Het is mogelijk om een afbeelding afzonderlijk te trekken door docker pull te gebruiken om een afbeelding handmatig uit Docker Hub op te halen of bij te werken.

docker pull ubuntu
docker pull ubuntu:14.04

Er zijn extra opties voor het ophalen van een ander afbeeldingsregister of het ophalen van een specifieke versie van een afbeelding. Het aangeven van een alternatief register gebeurt met de volledige afbeeldingsnaam en optionele versie. Met de volgende opdracht wordt bijvoorbeeld geprobeerd de ubuntu:14.04 afbeelding uit het registry.example.com registry.example.com te halen:

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

Lijst met lokaal gedownloade afbeeldingen

$ 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

Verwijzen naar afbeeldingen

Docker-opdrachten die de naam van een afbeelding aannemen, accepteren vier verschillende vormen:

Type Voorbeeld
Korte ID 693bce725149
Naam hello-world (standaard ingesteld op :latest tag)
Naam + tag hello-world:latest
Verteren hello-world@sha256:e52be8ffeeb1f374f440893189cd32f44cb166650e7ab185fa7735b7dc48d619

Opmerking: u kunt alleen naar een afbeelding verwijzen aan de hand van de samenvatting als die afbeelding oorspronkelijk met die samenvatting is getrokken. Om de samenvatting voor een afbeelding te zien (als die beschikbaar is) voert u docker images --digests .

Afbeeldingen verwijderen

De opdracht docker rmi wordt gebruikt om afbeeldingen te verwijderen:

docker rmi <image name>

De volledige afbeeldingsnaam moet worden gebruikt om een afbeelding te verwijderen. Tenzij de afbeelding is getagd om de registernaam te verwijderen, moet deze worden opgegeven. Bijvoorbeeld:

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

Het is ook mogelijk om afbeeldingen op basis van hun ID te verwijderen:

docker rmi 693bce725149

Voor het gemak is het mogelijk afbeeldingen op basis van hun afbeelding-ID te verwijderen door alleen de eerste paar tekens van de afbeelding-ID op te geven, zolang de opgegeven substring ondubbelzinnig is:

docker rmi 693

Opmerking: afbeeldingen kunnen worden verwijderd, zelfs als er bestaande containers zijn die die afbeelding gebruiken; docker rmi "maakt de afbeelding eenvoudig".

Als geen enkele container een afbeelding gebruikt, wordt deze vuilnis verzameld. Als een container een afbeelding gebruikt, wordt de afbeelding vuilnis verzameld zodra alle containers die deze gebruiken zijn verwijderd. Bijvoorbeeld:

$ 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

Verwijder alle afbeeldingen zonder gestarte containers

Om alle lokale afbeeldingen te verwijderen die geen gestarte containers hebben, kunt u een lijst van de afbeeldingen als parameter opgeven:

docker rmi $(docker images -qa)

Verwijder alle afbeeldingen

Als je afbeeldingen wilt verwijderen, ongeacht of ze al dan niet een gestarte container hebben, gebruik dan de force flag ( -f ):

docker rmi -f $(docker images -qa)

Bungelende afbeeldingen verwijderen

Als een afbeelding niet is getagd en door geen enkele container wordt gebruikt, 'bungelt' deze en kan deze als volgt worden verwijderd:

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

Zoek in de Docker Hub naar afbeeldingen

U kunt Docker Hub zoeken naar afbeeldingen met behulp van de zoekopdracht :

docker search <term>

Bijvoorbeeld:

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

Afbeeldingen inspecteren

docker inspect <image>

De uitvoer is in JSON-indeling. U kunt het opdrachtregelprogramma jq gebruiken om alleen de gewenste toetsen te parseren en af te drukken.

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

De bovenstaande opdracht toont de auteursnaam van de afbeeldingen.

Afbeeldingen taggen

Een afbeelding taggen is handig om verschillende afbeeldingsversies bij te houden:

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

Een ander voorbeeld van taggen:

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

Docker-afbeeldingen opslaan en laden

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

Met deze opdracht wordt de ubuntu:latest afbeelding opgeslagen als een tarball-archief in de huidige map met de naam ubuntu.latest.tar . Dit tarball-archief kan vervolgens worden verplaatst naar een andere host, bijvoorbeeld met behulp van rsync , of worden gearchiveerd in de opslag.

Nadat de tarball is verplaatst, maakt de volgende opdracht een afbeelding uit het bestand:

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

Het is nu mogelijk om containers te maken van de ubuntu:latest afbeelding zoals gewoonlijk.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow