Jak usunąć obraz dokera?

Uruchamiam Dockera pod Vagrant pod OS X 10.8.4 (Mountain Lion) i za każdym razem, gdy próbuję usunąć zapisany obraz, pojawia się błąd:

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

Według pomocy rmi prawidłowa składnia to docker rmi IMAGE [IMAGE...] i nie wiem, co o tym myśleć.

Jak mogę usunąć obrazek?

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

 

$docker info
Containers: 1
Images: 3

Co ciekawe, kiedy biegam docker ps, w ogóle nie pojawiają się żadne kontenery. Uruchomienie docker images pokazuje cztery (4) base obrazy i jeden (1) node obraz.

 855
Author: Karl Richter, 2013-07-15

19 answers

Spróbuj docker rmi node. To powinno zadziałać.

Zobaczenie wszystkich utworzonych kontenerów jest tak proste jak docker ps -a.

Aby usunąć wszystkie istniejące kontenery(nie obrazy!) run docker rm $(docker ps -aq)

 1025
Author: Nick Stinemates,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-23 16:05:05

Oto niektóre ze sposobów usuwania obrazów/kontenerów Dockera:

Usuń pojedynczy obraz

docker rmi image_name:version/image-id

Usuń wszystkie obrazy

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

Zabij kontenery i usuń je:

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

Uwaga: Zastąp kill na stop, aby zakończyć działanie

Usuń wszystkie obrazy z wyjątkiem "my-image"

Użyj grep, aby usunąć wszystkie z wyjątkiem my-image i ubuntu

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

Lub (bez awk)

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

 570
Author: Ulises,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-19 15:41:42

Usuń wszystkie kontenery docker

docker rm $(docker ps -a -q)

Usuń wszystkie obrazy dokera

docker rmi $(docker images -q)
 199
Author: Chrysalis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-01 18:39:48

Aby usunąć obraz z Dockera za pomocą ID obrazu:

  1. Pobierz listę wszystkich obrazów

    docker images
    
  2. Określ ID obrazu obrazu, który chcesz usunąć, na przykład:

    REPOSITORY     TAG     IMAGE ID        CREATED        VIRTUAL SIZE
    kweku360/java  latest  08d3a9b8e166    2 weeks ago         5.733 GB`
    
  3. Na koniec usuń obraz za pomocą identyfikatora obrazu (wymagane są tylko pierwsze trzy cyfry)

    docker rmi 08d
    
 73
Author: kweku360,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-11-22 20:11:22

Image:

  1. Lista obrazów

    Docker images

  2. Usuń jedno zdjęcie

    Docker RMI image_name

  3. Wymuś usunięcie jednego obrazu

    Docker rmi-f image_name

Kontener:

  1. Wymień wszystkie kontenery

    Docker ps-a

  2. Usuń jeden pojemnik

    Docker RM container_id

  3. Siła usuń jeden pojemnik

    Docker RM-f container_id

 37
Author: hackfox code,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-29 15:05:14

Update, jak skomentował VonC w Jak usunąć stare kontenery Docker.

W wersji Docker 1.13 (Q4 2016) masz teraz:

docker system prune usunie wszystkie nieużywane dane (tj. w kolejności: kontenery zatrzymane, woluminy bez kontenerów i obrazy bez kontenerów).

Zobacz PR 26108 i commit 86de7c0 , które wprowadzają kilka nowych poleceń ułatwiających wizualizację ilości miejsca zajmowanego przez demona Dockera na dysku i pozwalający na łatwe czyszczenie" niepotrzebnego " nadmiaru.

docker system prune

WARNING! This will remove:
    - all stopped containers
    - all volumes not used by at least one container
    - all images without at least one container associated to them
Are you sure you want to continue? [y/N] y
 29
Author: qkrijger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-11-22 20:33:10

Usuwanie Pojemników

  1. Aby usunąć określony pojemnik

    docker rm CONTAINER_ID CONTAINER_ID
    
    • dla pojedynczego obrazu

      docker rm  70c0e19168cf
      
    • dla wielu obrazów

      docker rm  70c0e19168cf c2ce80b62174
      
  2. usuwanie zakończonych kontenerów

    docker ps -a -f status=exited
    
  3. Usuń wszystkie pojemniki

    docker ps -q -a | xargs docker rm
    


Usuwanie Obrazy

docker rmi IMAGE_ID
  1. Usuń określone obrazy

    • dla pojedynczego obrazu

      docker rmi ubuntu
      
    • dla wielu obrazów

      docker rmi ubuntu alpine
      
  2. Usuń zwisające obrazy
    zwisające obrazy to warstwy, które nie mają związku z oznakowanymi obrazami, ponieważ obrazy dokera składają się z wielu obrazy.

    docker rmi -f $(docker images -f dangling=true -q)
    
  3. Usuń wszystkie obrazy dokera

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

Usuwanie Woluminów

Do listy woluminów Uruchom docker volume ls

  1. Usuń określony wolumin

    docker volume rm VOLUME_NAME
    
  2. Usuń zwisające objętości

    docker volume rm $(docker volume ls -f dangling=true -q)
    
  3. usuń pojemnik i jego objętość

    docker rm -v CONTAINER_NAME
    
 24
Author: All Іѕ Vаиітy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-11-22 20:34:22

docker rm container_name

docker rmi image_name

docker help

Rm Usuń jeden lub więcej pojemników

RMI Usuń jeden lub więcej obrazów

 19
Author: KunMing Xie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-07 07:50:35
docker rmi  91c95931e552

Odpowiedź błędu z daemona: Conflict, nie można usunąć 91c95931e552, ponieważ kontener 76068d66b290 go używa, użyj -f, aby wymusić FATA [0000] błąd: nie udało się usunąć jednego lub więcej obrazów

Find container ID,

# docker ps -a

# docker rm  daf644660736 
 13
Author: lakshmikandan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-11-22 20:12:38

Po pierwsze, musimy zatrzymać i usunąć kontenery Dockera, które są dołączone do obrazu Dockera, który zamierzamy usunąć.

Więc po pierwsze

  • docker stop container-id - aby zatrzymać uruchomiony kontener
  • docker rm container-id - usunięcie / usunięcie kontenera

Wtedy,

  • docker rmi image-id - aby usunąć/usunąć obrazek
 5
Author: Murali Manchadikkal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-11-22 20:37:16

Dla wersji 1.13 i wyższych:

docker image rm [OPTIONS] IMAGE [IMAGE...]

Porównanie:

[OPTIONS] wydaje się nie mieć różnicy.

--force , -f        Force removal of the image
--no-prune          Do not delete untagged parents

From: Wprowadzenie Docker 1.13

Clip

W Dockerze 1.13, przegrupowaliśmy wszystkie polecenia, aby siedziały pod logicznym obiektem, z którym wchodzi w interakcję. Na przykład list i start kontenerów są teraz subkomandami docker container i history jest subkomandą docker image.

Te zmiany pozwalają nam oczyścić składnię Dockera CLI, ulepszyć tekst pomocy i uczynić Dockera prostszym w użyciu. stara składnia poleceń jest nadal obsługiwana, ale zachęcamy wszystkich do przyjęcia nowej składni .

 3
Author: tgogos,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-20 09:12:55

Docker udostępnia polecenie do usunięcia images.

Pokaż / Usuń Images:

docker images
docker images -a # All images
docker images --no-trunc # List the full length image IDs

docker images --filter "dangling=true" // Show unstage images
docker rmi $(docker images -f "dangling=true" -q) # Remove on unstages images

docker rmi <REPOSITORY> or <Image ID> # Remove a single image

docker image prune # Interactively remove dangling images
docker image prune -a # Remove all images

or 

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

Możesz również użyć parametrów filter, aby usunąć zestaw obrazów w raz:

Przykład:

$docker images --filter "before=<hello-world>" // It will all images before hello-world

$docker images --filter "since=<hello-world>" // It will all images since hello-world

Więc możesz usunąć ten filtr zdjęć w ten sposób:

docker rmi $(docker images --filter "since=<hello-world>")
docker rmi $(docker images --filter "before=<hello-world>")
 3
Author: Mr Singh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-11-22 20:40:06

Usuń wszystkie używając

Krok 1: Zabij wszystkie kontenery

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

Krok 2: RM najpierw

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

Krok 3: Usuń obrazy za pomocą siły

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

Użyj kroku 1 w przypadku, gdy pojawi się błąd mówiący, że nie można go usunąć z powodu zależności potomnych

 1
Author: chandank,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-20 22:08:34

Jeśli chcesz automatycznie/okresowo czyścić zamknięte kontenery i usuwać obrazy i woluminy, które nie są używane przez uruchomiony kontener, możesz pobrać obraz meltwater/docker-cleanup.

Używam tego na produkcji, ponieważ wdrażamy kilka razy dziennie na wielu serwerach i nie chcę iść na każdy serwer, aby posprzątać(byłoby to ból).

Just run:

docker run -d -v /var/run/docker.sock:/var/run/docker.sock:rw  -v /var/lib/docker:/var/lib/docker:rw --restart=unless-stopped meltwater/docker-cleanup:latest

Będzie działać co 30 minut (lub jak długo go ustawisz za pomocą opcji DELAY_TIME=1800) i wyczyścić zakończoną kontenery i obrazy.

Więcej Szczegółów: https://github.com/meltwater/docker-cleanup/blob/master/README.md

 1
Author: Innocent Anigbo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-11-22 20:36:12

Oto skrypt powłoki do usuwania oznaczonego (nazwanego) obrazu i kontenerów. Zapisz jako docker-RMI i uruchom używając '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
 1
Author: Alex M,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-11-26 23:13:15

W moim przypadku problem polega na tym, że mam zdjęcia o tej samej nazwie rozwiązaniem jest dodanie znacznika po nazwie lub id

sudo docker rmi <NAME>:<TAG>

Ex:

sudo docker rmi php:7.0.4-fpm
 0
Author: Amirouche Zeggagh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-08-25 14:04:59

Dlaczego nikt nie wspomniał docker-compose! Używam go od tygodnia i nie mogę bez niego przetrwać. Wszystko, czego potrzebujesz, to napisanie yml, które zajmuje tylko kilka minut nauki, a następnie jesteś gotowy do pracy. Może uruchamiać obrazy, kontenery (które są potrzebne w tak zwanych usługach) i pozwala przeglądać dzienniki, tak jak używasz natywnych poleceń Dockera. Git it a try:

docker-compose up -d
docker-compose down --rmi 'local'

Zanim użyłem docker-compose, napisałem własny skrypt powłoki, potem musiałem dostosować skrypt w razie potrzeby zwłaszcza gdy zmieniła się Architektura aplikacji. Teraz nie muszę już tego robić, dzięki docker-compose.

 0
Author: Tiina,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-01-02 10:05:08

Dla mnie działa dobrze:

> docker images
REPOSITORY   TAG           IMAGE ID          CREATED             SIZE
debian       jessie        86baf4e8cde9      3 weeks ago         123MB
ubuntu       yakkety       7d3f705d307c      3 weeks ago         107MB
alpine       3.5           074d602a59d7      7 weeks ago         3.99MB

Następnie usuń obraz, uruchamiając takie:

> docker rmi debian:jessie
> docker rmi ubuntu:yakkety
> docker rmi alipine:3.5
 -1
Author: Julisch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-16 08:41:39

Lista obrazów:

ahanjura@ubuntu:~$ sudo docker images

REPOZYTORIUM TAG ID OBRAZ UTWORZONY ROZMIAR 88282f8eda00 19 sekund temu 308,5 MB 13e5d3d682f4 19 godzin temu 663 MB busybox2 lat 05fe66bb1144 20 godzin temu 1.129 MB ubuntu 16.04 00fd29ccc6f1 5 dni temu 110,5 MB ubuntu 14.04 67759a80360c 5 dni temu 221,4 MB python 2.7 9e92c8430ba0 7 dni temu 680,7 MB busybox latest 6ad733544a63 6 weeks ago 1.129 MB ubuntu 16.10 7d3f705d307c 5 miesięcy temu 106.7 MB

Usuń obrazy:

ahanjura@ubuntu:~$ sudo docker rmi 88282f8eda00

Usunięty:sha256: 88282f8eda0036f85b5652c44d158308c6f86895ef1345dfa788318e6ba31194 Usunięte: sha256:4f211a991fb392cd794bc9ad8833149cd9400c5955958c4017b1e2dc415e25e9 Usunięty:sha256: 8cc6917ac7f0dcb74969ae7958fe80b4a4ea7b3223fc888dfe1aef42f43df6f8 Deleted: sha256: b74a8932cff5e61c3fd2cc39de3c0989bdfd5c2e5f72b8f99f2807595f8ece43

ahanjura@ubuntu:~$ sudo docker rmi 13e5d3d682f4

Odpowiedź błędu z demona: conflict: nie można usunąć 13e5d3d682f4 (musi być wymuszone) - obraz jest używany przez zatrzymany kontener 5593e25eb638

Usunąć siłą:

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

Usunięty: sha256:13e5d3d682f4de973780b35a3393c46eb314ef3db45d3ae83baf2dd9d702747e Usunięty:sha256: 3ad9381c7041c03768ccd855ec86caa6bc0244223f10b0465c4898bdb21dc378 Usunięty:sha256: 5ccb917bce7bc8d3748eccf677d7b60dd101ed3e7fd2aedebd521735276606af Usunięto: sha256: 18356d19b91f0abcc04496729c9a4c49e695dbfe3f0bb1c595f30a7d4d264ebf

 -1
Author: user1833058,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-29 15:15:02