Ricerca…


Sintassi

  • immagini docker [OPZIONI] [REPOSITORY [: TAG]]
  • finestra mobile ispeziona [OPZIONI] CONTENITORE | IMMAGINE [CONTENITORE | IMMAGINE ...]
  • docker pull [OPZIONI] NOME [: TAG | @DIGEST]
  • docker rmi [OPZIONI] IMMAGINE [IMMAGINE ...]
  • tag docker [OPZIONI] IMAGE [: TAG] [REGISTRYHOST /] [USERNAME /] NAME [: TAG]

Recupero di un'immagine dall'hub Docker

Normalmente, le immagini vengono estratte automaticamente da Docker Hub . Docker tenterà di estrarre qualsiasi immagine dall'hub Docker che non esiste già sull'host Docker. Ad esempio, utilizzando la docker run ubuntu quando l'immagine ubuntu non è già presente sull'host Docker, Docker avvierà un pull dell'ultima immagine ubuntu . È possibile estrarre un'immagine separatamente usando la funzione di docker pull per recuperare manualmente o aggiornare un'immagine da Docker Hub.

docker pull ubuntu
docker pull ubuntu:14.04

Esistono ulteriori opzioni per l'estrazione da un registro di immagine diverso o il prelievo di una versione specifica di un'immagine. L'indicazione di un registro alternativo viene eseguita utilizzando il nome completo dell'immagine e la versione opzionale. Ad esempio, il seguente comando tenterà di estrarre l'immagine ubuntu:14.04 dal registry.example.com registry.example.com:

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

Elenco delle immagini scaricate localmente

$ 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

Fare riferimento alle immagini

I comandi Docker che prendono il nome di un'immagine accettano quattro diverse forme:

genere Esempio
ID breve 693bce725149
Nome hello-world (predefinito su :latest tag)
Nome + tag hello-world:latest
digerire hello-world@sha256:e52be8ffeeb1f374f440893189cd32f44cb166650e7ab185fa7735b7dc48d619

Nota: è possibile fare riferimento a un'immagine solo dal suo sommario se quell'immagine è stata originariamente tirata usando quel digest. Per visualizzare il digest per un'immagine (se disponibile), esegui docker images --digests .

Rimozione di immagini

Il comando docker rmi viene utilizzato per rimuovere le immagini:

docker rmi <image name>

Il nome completo dell'immagine deve essere usato per rimuovere un'immagine. A meno che l'immagine non sia stata taggata per rimuovere il nome del registro, è necessario specificarla. Per esempio:

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

È anche possibile rimuovere le immagini con il loro ID invece:

docker rmi 693bce725149

Per comodità, è possibile rimuovere le immagini con il loro ID immagine specificando solo i primi caratteri dell'ID immagine, a condizione che la sottostringa specificata non sia ambigua:

docker rmi 693

Nota: le immagini possono essere rimosse anche se esistono contenitori esistenti che utilizzano quell'immagine; docker rmi semplicemente "disegna" l'immagine.

Se nessun contenitore utilizza un'immagine, viene raccolto dai rifiuti. Se un contenitore utilizza un'immagine, l'immagine verrà raccolta dopo che tutti i contenitori che lo utilizzano vengono rimossi. Per esempio:

$ 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

Rimuovi tutte le immagini senza contenitori avviati

Per rimuovere tutte le immagini locali senza contenitori avviati, puoi fornire un elenco delle immagini come parametro:

docker rmi $(docker images -qa)

Rimuovi tutte le immagini

Se si desidera rimuovere le immagini indipendentemente dal fatto che abbiano o meno un contenitore avviato, utilizzare il flag force ( -f ):

docker rmi -f $(docker images -qa)

Rimuovi le immagini penzolanti

Se un'immagine non è contrassegnata e non viene utilizzata da alcun contenitore, è "penzolante" e può essere rimossa in questo modo:

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

Cerca nell'hub Docker le immagini

Puoi cercare Docker Hub per immagini usando il comando di ricerca :

docker search <term>

Per esempio:

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

Ispezionando le immagini

docker inspect <image>

L'output è in formato JSON. È possibile utilizzare l'utilità della riga di comando jq per analizzare e stampare solo i tasti desiderati.

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

Il comando sopra mostrerà il nome dell'autore delle immagini.

Tagging delle immagini

Il tagging di un'immagine è utile per tenere traccia delle diverse versioni dell'immagine:

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

Un altro esempio di tagging:

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

Salvataggio e caricamento di immagini Docker

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

Questo comando salverà l' ubuntu:latest immagine come archivio di tarball nella directory corrente con il nome ubuntu.latest.tar . Questo archivio tarball può quindi essere spostato su un altro host, ad esempio utilizzando rsync o archiviato in archivio.

Una volta che il tarball è stato spostato, il seguente comando creerà un'immagine dal file:

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

Ora è possibile creare contenitori da ubuntu:latest immagine come al solito.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow