Phase 18: image prune (dangling/unused), local + agent (0.24.0)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
menzelj
2026-06-09 11:30:10 +00:00
co-authored by Claude Opus 4.8
parent d46a6c3576
commit 34c5fffa85
6 changed files with 128 additions and 7 deletions
+14
View File
@@ -45,3 +45,17 @@ def list_images() -> list[dict]:
)
result.sort(key=lambda r: r["tag"])
return result
def prune_images(all_unused: bool = False) -> dict:
"""Remove unused images. By default only dangling (untagged) images are
removed; ``all_unused=True`` removes every image not referenced by a
container (``docker image prune -a``)."""
client = get_client()
# dangling=false tells the engine to also consider tagged-but-unused images.
filters = {"dangling": False} if all_unused else {"dangling": True}
result = safe_call(client.images.prune, filters=filters)
return {
"ImagesDeleted": result.get("ImagesDeleted") or [],
"SpaceReclaimed": result.get("SpaceReclaimed", 0),
}