docker image prune — remove unused images

# Remove only dangling (untagged) images — safe
docker image prune

# Remove ALL unused images (not referenced by any container)
docker image prune -a

# Skip the confirmation prompt
docker image prune -a -f

Docker images pile up after repeated builds. Use prune to reclaim disk space.

Check disk usage before pruning

docker system df
# TYPE            TOTAL   ACTIVE   SIZE     RECLAIMABLE
# Images          23      5        14.2GB   11.8GB (83%)
# Containers      3       2        1.2MB    600kB (50%)
# Local Volumes   8       3        2.1GB    1.5GB (71%)
# Build Cache     ...

Remove images older than N days

# Remove images unused for more than 48 hours
docker image prune -a --filter "until=48h"

Delete a specific image

docker rmi my-image:latest

# Force-remove even if a container uses it
docker rmi -f my-image:latest

Remove all images (nuclear option)

docker images -q | xargs docker rmi -f