A production-grade Docker wrapper CLI focused on usability and simplicity
Project description
dockit
A lightweight Docker wrapper CLI that eliminates tedious container ID lookups and verbose command repetition.
What This Is
dockit is a practical CLI wrapper for Docker and Docker Compose. It reduces friction in everyday workflows by:
- Working with container names instead of IDs
- Providing sensible defaults (no flags = do the right thing)
- Auto-detecting Docker engine and Compose version
- Formatting output clearly and without truncation
- Supporting all major shells with completion
What This Is Not
This project is intentionally not:
- A container engine (it wraps Docker)
- A Docker replacement (it enhances the existing CLI)
- A Kubernetes tool
- A UI or dashboard
- A configuration management system
- A DevOps platform
If you need Docker's full capabilities, use Docker directly. If you want to reduce boilerplate in local development and debugging, dockit is for you.
Design Philosophy
Simplicity over features — Only implement what most users need daily.
Predictability — Commands map obviously to their Docker equivalents. No magic. No hidden behavior.
Zero breaking changes — Once you learn dockit, it stays consistent.
Scriptable — Output is clean, parseable, and exit codes are meaningful.
Human-first — Optimize for typing, reading, and understanding—not for machines.
Installation
For detailed installation instructions, see INSTALL.md.
Quick Install
pip install dockit
dockit version
Available globally after installation.
Quick Start
List containers
# Running containers
dockit ps
# All containers (including stopped)
dockit ps --all
View logs
# Stream logs
dockit logs myapp -f
# Logs from the last 10 minutes
dockit logs myapp --since 10m
# Filter by pattern
dockit logs myapp --grep "ERROR"
Open a shell
dockit shell myapp
# Falls back to /bin/sh if bash is unavailable
Manage containers
dockit restart myapp
dockit start myapp
dockit stop myapp
dockit rm myapp -f # Force remove
Manage stacks
# Start compose stack (detached)
dockit up
# Stop and remove
dockit down
# Restart services
dockit restart
# Remove volumes too
dockit down -v
Cleanup
# Remove unused images, containers, volumes, networks
dockit clean
# Include all unused resources
dockit clean --all
# Preview what would be deleted
dockit clean --dry-run
Shell completion
# Install completion for your shell
dockit --install-completion
# Restart your shell
exec $SHELL
Available for bash, zsh, fish, and PowerShell.
How It Works
dockit detects your Docker setup automatically:
- Docker engine — Looks for
docker, falls back topodman - Compose version — Checks for
docker compose(v2), falls back todocker-compose(v1) - Compose file — Searches for
compose.yamlordocker-compose.yml
All detection happens once per command. No polling, no daemons, no background processes.
Documentation
Full command reference, engine detection details, and extension guidelines are in docs/wiki.md.
Contributing
See CONTRIBUTING.md for:
- CI/CD pipeline details
- How to run tests locally
- Code quality checks
- Pull request process
Report a bug
Use the bug report template. Include:
- OS and version
- Docker version
- Full command output
- Steps to reproduce
Propose a feature
Use the feature request template. Proposals must:
- Be based on real workflows, not hypotheticals
- Show the current Docker command you're using
- Explain why the proposed wrapper improves it
Contribute code
- Fork the repository
- Create a feature branch
- Write tests for your changes
- Ensure all tests pass:
pytest - Submit a pull request
Coding standards:
- Follow Python idioms; prefer clarity over cleverness
- No over-engineering or unnecessary abstraction
- Test coverage should not decrease
- Commit messages should be clear and specific
- Keep the codebase maintainable by future contributors
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dockit_tool-0.1.2.tar.gz.
File metadata
- Download URL: dockit_tool-0.1.2.tar.gz
- Upload date:
- Size: 14.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8978d57deef8ab7d1e72e07dae1622a0225045cb53186db56730dde918a605f8
|
|
| MD5 |
63c36a9e7f84b7e29945a381098c32e5
|
|
| BLAKE2b-256 |
0522b79596587f31f43013ba06f670fa5160c9118817e49ffc2ddac86a9eb8b3
|
File details
Details for the file dockit_tool-0.1.2-py3-none-any.whl.
File metadata
- Download URL: dockit_tool-0.1.2-py3-none-any.whl
- Upload date:
- Size: 15.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5bcdf13c5ea5c176210012e3a008be7bfb0874a1073666a6d96100806fc411ac
|
|
| MD5 |
b661ceccd9fbba7803408834074738dc
|
|
| BLAKE2b-256 |
630066feb40c6ad6ff43d885aa5abf6353a6870c7c6c6152d79c9f4e1b3dce83
|