A modern TUI tool for exploring container image layers with an intuitive interface.
The name "sou" comes from the Japanese word "層" (そう/sō) which means "layer". It can be pronounced as "so".
- 🚀 Interactive TUI for seamless navigation through container images
- 🔍 Explore files within each layer using a built-in file picker
- 👀 Quick preview of file contents within layers
- 💾 Easy export of files from layers to your local filesystem
- 📄 View image manifests and configurations
- 📦 Support for both local and remote container images
🤖 This project is experimentally developed entirely with Claude 3.5 Sonnet, exploring the possibilities of AI-assisted development.
brew install knqyf263/sou/sou
docker run --rm -it ghcr.io/knqyf263/sou:latest nginx:latest
go install github.com/knqyf263/sou@latest
git clone https://github.com/knqyf263/sou.git
cd sou
go build -o sou
sou <image-name>
Example:
# Local image
sou nginx:latest
# Remote image
sou ghcr.io/knqyf263/my-image:latest
↑/k
: Move cursor up↓/j
: Move cursor down→/l
: View layer contentsg
: Go to first itemG
: Go to last itemK/pgup
: Page upJ/pgdown
: Page downyy
: Copy layer diff ID/
: Filter layers?
: Toggle helpq
: Quit
↑/k
: Move cursor up↓/j
: Move cursor down←/h
: Go back→/l
: View/open file.
: Toggle hidden filesx
: Export file/
: Filter files?
: Toggle helpq
: Quit
↑/k
: Scroll up↓/j
: Scroll down←/h
: Go back to file listq
: Quit
Contributions are welcome! Please feel free to submit a Pull Request.
Apache License 2.0 - see LICENSE for more details.