docker rmi în Docker

Imagini Docker 1.0+

Șterge una sau mai multe imagini locale (sau doar o etichetă a lor).

Sintaxă comandă
docker rmi [opțiuni] imagine [imagine...]

Ce face docker rmi

Comanda docker rmi (echivalentă cu docker image rm) elimină imagini de pe mașina locală. Dacă imaginea are mai multe etichete și o ștergi după nume, se elimină doar eticheta respectivă (Untagged); straturile sunt șterse (Deleted) abia când dispare ultima referință.

Docker refuză să șteargă o imagine folosită de un container, chiar și de unul oprit. Trebuie mai întâi să ștergi containerul cu docker rm sau să folosești -f.

Imaginile din registry nu sunt afectate: docker rmi lucrează doar local.

Opțiuni și argumente

Opțiune / Parametru Descriere
imagine Nume:etichetă, ID scurt sau ID complet. Se pot da mai multe.
-f, --force Forțează ștergerea, inclusiv a imaginilor cu mai multe etichete sau folosite de containere oprite.
--no-prune Nu șterge imaginile părinte rămase fără etichetă.
$(docker images -q -f dangling=true) Substituție de shell frecvent folosită pentru a șterge toate imaginile dangling.

Exemple

Exemplul 1: Ștergerea unei imagini după nume

Imaginea avea o singură etichetă, deci straturile sunt eliminate.

docker rmi python:3.12-slim

Ieșire în terminal

Untagged: python:3.12-slim
Untagged: python@sha256:2b0079146a74e23bf4ae8f6a28e1b484c6292f6fb904cbb51825b4a19812fcd8
Deleted: sha256:e5f0a7c3d1b8a9f2e4c6b8d0a1c3e5f7b9d1a3c5e7f9b1d3a5c7e9f1b3d5a7c9
Deleted: sha256:4c2a8e6f0b1d3a5c7e9f1b3d5a7c9e1f3a5b7d9e1c3a5b7d9f1e3c5a7b9d1f3e

Exemplul 2: Imagine folosită de un container

Docker refuză ștergerea și indică containerul care o folosește.

docker rmi nginx:1.27

Ieșire în terminal

Error response from daemon: conflict: unable to remove repository reference "nginx:1.27" (must force) - container 9f3c2a1b7e6d is using its referenced image 3b25b682ea82

Exemplul 3: Ștergerea tuturor imaginilor dangling

Alternativa modernă este docker image prune.

docker rmi $(docker images -q -f dangling=true)

Ieșire în terminal

Deleted: sha256:9a8d7c6b5e4f3a2b1c0d9e8f7a6b5c4d3e2f1a0b9c8d7e6f5a4b3c2d1e0f9a8b

Greșeli frecvente

  • Confuzia cu docker rm: rm șterge containere, rmi șterge imagini.
  • Folosirea reflexă a lui -f: poți rămâne cu containere oprite care indică o imagine inexistentă. Mai curat este să ștergi întâi containerele.

Comenzi înrudite

  • docker images: Listează imaginile descărcate sau construite local, cu etichetă, ID și dimensiune.
  • docker rm: Șterge unul sau mai multe containere (implicit doar pe cele oprite).
  • docker system prune: Verifică spațiul ocupat de Docker (system df) și șterge resursele nefolosite (system prune).