61 lines
1.5 KiB
Markdown
61 lines
1.5 KiB
Markdown
# docker-overlay-cleanup
|
|
|
|
Interactive TUI tool to find and clean orphaned Docker overlay2 folders.
|
|
|
|
## The Problem
|
|
|
|
`/var/lib/docker/overlay2` can grow large with orphaned layer folders that aren't referenced by any container or image. Even after running `docker system prune`, some folders may remain.
|
|
|
|
## What This Does
|
|
|
|
1. Scans all folders in `/var/lib/docker/overlay2`
|
|
2. Maps each folder to its container/image using `docker inspect`
|
|
3. Identifies orphans (folders not referenced by anything)
|
|
4. Provides an interactive TUI to select and delete them
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
# Clone
|
|
git clone https://gitea.olex.me/clawd/docker-overlay-cleanup.git
|
|
cd docker-overlay-cleanup
|
|
|
|
# Run (requires root for Docker access)
|
|
sudo python3 docker-overlay-cleanup.py
|
|
```
|
|
|
|
## TUI Keybindings
|
|
|
|
| Key | Action |
|
|
|-----|--------|
|
|
| `↑↓` / `jk` | Navigate |
|
|
| `Space` | Toggle selection |
|
|
| `o` | Select all orphans |
|
|
| `c` | Clear selection |
|
|
| `a` | Toggle show all / orphans only |
|
|
| `Enter` | Delete selected (with confirmation) |
|
|
| `q` / `Esc` | Quit |
|
|
|
|
## Screenshot
|
|
|
|
```
|
|
Docker overlay2 Cleanup | Orphans: 12 (4.2 GB) | Selected: 0 (0 B) [ORPHANS ONLY]
|
|
↑↓:nav | Space:select | a:toggle-all | Enter:delete-selected | q:quit
|
|
|
|
[ ] 1.2 GB a1b2c3d4e5f6... ORPHAN
|
|
[ ] 800.0 MB f6e5d4c3b2a1... ORPHAN
|
|
[ ] 500.0 MB 1234567890ab... ORPHAN
|
|
...
|
|
```
|
|
|
|
## Requirements
|
|
|
|
- Python 3.6+
|
|
- Docker
|
|
- Root access (sudo)
|
|
- No external Python dependencies (uses curses from stdlib)
|
|
|
|
## License
|
|
|
|
MIT
|