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.
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)
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))
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)
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:
-
Pobierz listę wszystkich obrazów
docker images
-
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`
-
Na koniec usuń obraz za pomocą identyfikatora obrazu (wymagane są tylko pierwsze trzy cyfry)
docker rmi 08d
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:
- Lista obrazów
Docker images
- Usuń jedno zdjęcie
Docker RMI image_name
- Wymuś usunięcie jednego obrazu
Docker rmi-f image_name
Kontener:
- Wymień wszystkie kontenery
Docker ps-a
- Usuń jeden pojemnik
Docker RM container_id
- Siła usuń jeden pojemnik
Docker RM-f container_id
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
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
-
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
-
-
usuwanie zakończonych kontenerów
docker ps -a -f status=exited
-
Usuń wszystkie pojemniki
docker ps -q -a | xargs docker rm
Usuwanie Obrazy
docker rmi IMAGE_ID
-
Usuń określone obrazy
-
dla pojedynczego obrazu
docker rmi ubuntu
-
dla wielu obrazów
docker rmi ubuntu alpine
-
-
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)
-
Usuń wszystkie obrazy dokera
docker rmi -f $(docker images -a -q)
Usuwanie Woluminów
Do listy woluminów Uruchom docker volume ls
-
Usuń określony wolumin
docker volume rm VOLUME_NAME
-
Usuń zwisające objętości
docker volume rm $(docker volume ls -f dangling=true -q)
-
usuń pojemnik i jego objętość
docker rm -v CONTAINER_NAME
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
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
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
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:
- the documentation of
docker image rm
and - dokumentacja z
docker rmi
,
[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
istart
kontenerów są teraz subkomandamidocker container
ihistory
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 .
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>")
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
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
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
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
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.
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
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
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