Come si rimuove un'immagine in Docker?



8 Answers

Di seguito sono riportati alcuni metodi per rimuovere immagini / contenitori di finestra mobile:

Rimuovi una singola immagine

docker rmi image_name:version/image-id

Rimuovi tutte le immagini

docker rmi $(docker images -qf "dangling=true")

Uccidi i contenitori e rimuovili:

docker rm $(docker kill $(docker ps -aq))

Nota: sostituisci kill con stop per un arresto regolare

Rimuovi tutte le immagini ad eccezione di "my-image"

Usa grep per rimuovere tutti tranne my-image e ubuntu

docker rmi $(docker images | grep -v 'ubuntu\|my-image' | awk {'print $3'})

O (senza awk)

docker rmi $(docker images --quiet | grep -v $(docker images --quiet ubuntu:my-image))

docker

Sto eseguendo Docker sotto Vagrant sotto OS X 10.8.4 (Mountain Lion), e ogni volta che provo a eliminare un'immagine salvata, ottengo un errore:

$ docker rmi some-image-id
2013/07/15 hh:mm:ss unexpected JSON input

Secondo l'aiuto di rmi , la sintassi corretta è la docker rmi IMAGE [IMAGE...] , e non sono sicuro di cosa farne.

Come posso cancellare un'immagine?

$ docker version
Client version: 0.4.8
Server version: 0.4.8
Go version: go1.1

$docker info
Containers: 1
Images: 3

È interessante notare che, quando docker ps , non vengono visualizzati contenitori. L'esecuzione delle docker images mostra quattro (4) immagini di base e una (1) immagine del node .




Per rimuovere un'immagine dalla finestra mobile utilizzando l'Id immagine

  1. Ottieni l'elenco di tutte le immagini

    docker images
    
  2. Identificare l'id immagine dell'immagine che si desidera eliminare, ad esempio:

    REPOSITORY     TAG     IMAGE ID        CREATED        VIRTUAL SIZE
    kweku360/java  latest  08d3a9b8e166    2 weeks ago         5.733 GB`
    
  3. Infine rimuovi l'immagine usando l'id immagine (sono richieste solo le prime tre cifre)

    docker rmi 08d
    



Immagine:

  1. Elenca le immagini

    immagini docker

  2. Rimuovi un'immagine

    finestra mobile rmi nome_immagine

  3. Forza rimuovi un'immagine

    finestra mobile rmi -f nome_immagine

Contenitore:

  1. Elenca tutti i contenitori

    finestra mobile ps -a

  2. Rimuovi un contenitore

    finestra mobile rm container_id

  3. Forza rimuovi un contenitore

    finestra mobile rm -f contenitore_id




Rimozione dei contenitori

  1. Per rimuovere un contenitore specifico

    docker rm CONTAINER_ID CONTAINER_ID
    
    • Per singola immagine

      docker rm  70c0e19168cf
      
    • Per più immagini

      docker rm  70c0e19168cf c2ce80b62174 
      
  2. Rimuovere i contenitori aperti

    docker ps -a -f status=exited
    
  3. Rimuovere tutti i contenitori

    docker ps -q -a | xargs docker rm
    

Rimozione di immagini

docker rmi IMAGE_ID
  1. Rimuovi le immagini specifiche

    • per singola immagine

      docker rmi ubuntu
      
    • per più immagini

      docker rmi ubuntu alpine
      
  2. Rimuovi le immagini penzolanti
    Le immagini penzolanti sono strati che non hanno alcuna relazione con le immagini taggate poiché le immagini Docker sono costituite da più immagini.

    docker rmi -f $(docker images -f dangling=true -q)
    
  3. Rimuovi tutte le immagini del Docker

    docker rmi -f $(docker images -a -q)
    

Rimozione di volumi

Per elencare i volumi eseguire il docker volume ls

  1. Rimuovi un volume specifico

    docker volume rm VOLUME_NAME
    
  2. Rimuovere i volumi pendenti

    docker volume rm $(docker volume ls -f dangling=true -q)
    
  3. Rimuovere un contenitore e i suoi volumi

    docker rm -v CONTAINER_NAME
    



Prima di tutto, dobbiamo fermare e rimuovere i contenitori docker che sono collegati con l'immagine della finestra mobile che stiamo per rimuovere.

Quindi per quello, prima

  • docker stop container-id - Per arrestare il contenitore in esecuzione
  • docker rm container-id - Per eliminare / rimuovere il contenitore

poi,

  • docker rmi image-id - Per eliminare / rimuovere l'immagine



Ecco uno script di shell per rimuovere un'immagine con tag (denominata) e i suoi contenitori. Salva come finestra mobile-rmi ed esegui usando 'docker-rmi my-image-name'

#!/bin/bash

IMAGE=$1

if [ "$IMAGE" == "" ] ; then
  echo "Missing image argument"
  exit 2
fi

docker ps -qa -f "ancestor=$IMAGE" | xargs docker rm
docker rmi $IMAGE



Elimina tutti usando

Passaggio 1: uccidere tutti i contenitori

for i in `sudo docker ps -a | awk '{ print $1 }'`; do sudo docker kill $i ; done

Step 2: RM prima di tutto

for i in `sudo docker ps -a | awk '{ print $1 }'`; do sudo docker rm $i ; done

Passaggio 3: Elimina le immagini usando la forza

for i in `sudo docker images | awk '{ print $3}'`; do  sudo docker rmi --force $i ; done

Utilizzare il passaggio 1 nel caso in cui si stia verificando un errore che indica che non può essere eliminato a causa delle dipendenze secondarie




Elenca le immagini:

ahanjura@ubuntu:~$ sudo docker images

ID TAGLIO POSTERIORE ID IMMAGINE CREATO TAGLIA 88282f8eda00 19 secondi fa 308.5 MB 13e5d3d682f4 19 ore fa 663 MB busybox2 ultimo 05fe66bb1144 20 ore fa 1.129 MB ubuntu 16.04 00fd29ccc6f1 5 giorni fa 110.5 MB ubuntu 14.04 67759a80360c 5 giorni fa 221.4 MB python 2.7 9e92c8430ba0 7 giorni fa 680.7 MB busybox latest 6ad733544a63 6 settimane fa 1.129 MB ubuntu 16.10 7d3f705d307c 5 mesi fa 106.7 MB

Elimina immagini:

ahanjura@ubuntu:~$ sudo docker rmi 88282f8eda00

Eliminato: sha256: 88282f8eda0036f85b5652c44d158308c6f86895ef1345dfa788318e6ba31194 Eliminato: sha256: 4f211a991fb392cd794bc9ad8833149cd9400c5955958c4017b1e2dc415e25e9 Eliminato: sha256: 8cc6917ac7f0dcb74969ae7958fe80b4a4ea7b3223fc888dfe1aef42f43df6f8 Eliminato: sha256: b74a8932cff5e61c3fd2cc39de3c0989bdfd5c2e5f72b8f99f2807595f8ece43

ahanjura@ubuntu:~$ sudo docker rmi 13e5d3d682f4

Risposta errore dal daemon: conflitto: impossibile eliminare 13e5d3d682f4 (obbligatorio): l'immagine viene utilizzata dal contenitore interrotto 5593e25eb638

Elimina con la forza:

ahanjura@ubuntu:~$ sudo docker rmi -f 13e5d3d682f4

Eliminato: sha256: 13e5d3d682f4de973780b35a3393c46eb314ef3db45d3ae83baf2dd9d702747e Deleted: sha256: 3ad9381c7041c03768ccd855ec86caa6bc0244223f10b0465c4898bdb21dc378 Deleted: sha256: 5ccb917bce7bc8d3748eccf677d7b60dd101ed3e7fd2aedebd521735276606af Deleted: sha256: 18356d19b91f0abcc04496729c9a4c49e695dbfe3f0bb1c595f30a7d4d264ebf




Related


Tags

docker