Skip to content

Commit d5b34b1

Browse files
committed
update for v0.2.1
1 parent 9169e4e commit d5b34b1

1 file changed

Lines changed: 73 additions & 6 deletions

File tree

README.md

Lines changed: 73 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Dockyard is a terminal-based Docker management tool built specifically for resou
3535
### Option 1: Install from Release (Recommended)
3636
```bash
3737
# Download the latest release (v0.2.1)
38-
wget https://github.com/905timur/dockyard/releases/download/v0.2.0/dockyard-v0.2.1-x86_64.tar.gz
38+
wget https://github.com/905timur/dockyard/releases/download/v0.2.1/dockyard-v0.2.1-x86_64.tar.gz
3939

4040
# Extract and install
4141
tar -xzf dockyard-v0.2.1-x86_64.tar.gz
@@ -76,19 +76,44 @@ dockyard
7676
dockyard --stats-interval 5
7777
```
7878

79-
## Navigation
79+
## Quick Start Guide
80+
81+
### Managing Containers
82+
When you first launch Dockyard, you'll see your container list. Use `j`/`k` or arrow keys to navigate up and down. The interface shows you each container's name, image, status, ports, and real-time CPU/memory usage.
83+
84+
Press `Enter` on any container to see detailed information in the left pane, including environment variables, volumes, networks, and labels. Press `l` to stream logs in real-time, or `e` to drop into an interactive shell inside the container (Dockyard will suspend the TUI and hand control to your shell, then restore everything when you exit).
85+
86+
You can control containers with `s` (stop), `t` (start), `r` (restart), `p` (pause), `u` (unpause), and `d` (force remove). Press `f` to toggle between viewing all containers or just running ones.
87+
88+
### Managing Images
89+
Press `Tab` to switch to the image view. Here you'll see all Docker images on your system with their repository names, tags, IDs, sizes, and creation dates. The list auto-refreshes every 30 seconds.
90+
91+
Navigate with `j`/`k` or arrow keys, then press `Enter` or `Space` to inspect any image's full details in the left pane. You can sort images by pressing `s` (cycles through creation date ascending/descending and size ascending/descending) or filter dangling images with `f`.
92+
93+
### Pulling New Images
94+
To download a new image from a registry like Docker Hub, press `p` while in the image view. A dialog will appear asking for the image name. Type something like `nginx:latest`, `postgres:15`, `redis:alpine`, or `ubuntu:22.04` and hit Enter.
95+
96+
Dockyard will start pulling the image and stream the download progress in real-time in the bottom-right pane. You'll see each layer being downloaded just like running `docker pull` from the command line, but the UI stays responsive so you can navigate around and check other things while it downloads. When the pull completes, the image list automatically refreshes and your new image appears.
97+
98+
This is useful when you want to run a new service (like pulling `nginx` to set up a web server), test a different version of something (pulling `node:20` for the latest Node.js), or prepare images before creating containers from them.
99+
100+
### Removing Images
101+
Select an image and press `d` to remove it (you'll get a confirmation prompt). If the image is in use by containers, you can force removal with `D` (Shift+d), though this will also prompt for confirmation to prevent accidents.
102+
103+
## Navigation Reference
80104

81105
### Global Keys
82106
| Key | Action |
83107
|-----|--------|
84108
| `?` | Help menu |
85-
| `Tab` | Switch between Containers and Images views |
109+
| `Tab` or `Shift+Tab` | Switch between Containers and Images views |
86110
| `q` | Quit |
87111

88112
### Container View
89113
| Key | Action |
90114
|-----|--------|
91115
| `↑↓` or `jk` | Navigate containers |
116+
| `Enter` or `Space` | View detailed container info |
92117
| `i` | View resource history graphs |
93118
| `l` | View container logs |
94119
| `e` | Launch interactive shell (`/bin/bash` or `/bin/sh`) |
@@ -107,13 +132,55 @@ dockyard --stats-interval 5
107132
| `Enter` or `Space` | Inspect image details |
108133
| `s` | Toggle sort (Creation Date ▲/▼, Size ▲/▼) |
109134
| `f` | Toggle dangling image filter |
110-
| `p` | Pull new image |
135+
| `p` | Pull new image from registry |
111136
| `d` | Remove image |
112137
| `D` | Force remove image |
113138

139+
## Status Indicators
140+
141+
### Container States
142+
- `` (green) – Running
143+
- `` (red) – Stopped
144+
- `` (yellow) – Paused
145+
146+
### Visual Feedback
147+
- Sort indicators (``/``) appear in table headers showing current sort direction
148+
- Stats marked as `(stale)` are older than 10 seconds
149+
- Real-time progress bars show ongoing operations like image pulls
150+
- Confirmation prompts appear for destructive actions
151+
114152
## Performance Notes
115153
- Auto-refreshes container list every 10 seconds
116154
- Auto-refreshes image list every 30 seconds
117155
- Stats update interval configurable via `--stats-interval` flag (default: 3 seconds)
118-
- Only fetches stats for containers in the current viewport
119-
- Concurrent API requests limited to 5 simultaneous connections
156+
- Only fetches stats for containers in the current viewport (visible on screen)
157+
- Concurrent API requests limited to 5 simultaneous connections
158+
- Requests are staggered across the polling interval to prevent CPU spikes
159+
160+
## Troubleshooting
161+
162+
### Permission Denied
163+
If you get permission errors connecting to Docker, make sure your user is in the `docker` group:
164+
```bash
165+
sudo usermod -aG docker $USER
166+
```
167+
Then log out and back in for the changes to take effect.
168+
169+
### High CPU Usage
170+
If you notice high CPU usage, try increasing the stats interval:
171+
```bash
172+
dockyard --stats-interval 5
173+
```
174+
This reduces how often Dockyard polls Docker for container stats.
175+
176+
### Container Shell Not Working
177+
The interactive shell feature (`e` key) requires that containers have either `/bin/bash` or `/bin/sh` available. Some minimal container images might not include these shells.
178+
179+
## Contributing
180+
Contributions are welcome! Check out the [AGENTS.md](AGENTS.md) file for development guidelines and project architecture details.
181+
182+
## License
183+
Dockyard is dual-licensed under MIT and Apache 2.0.
184+
185+
## Acknowledgments
186+
Built with [Ratatui](https://github.com/ratatui-org/ratatui) for the TUI and [Bollard](https://github.com/fussybeaver/bollard) for Docker API integration.

0 commit comments

Comments
 (0)