Docker errors, translated instantly. Install once. Zero config. Zero new habits.
$ docker run -p 80:80 nginx
docker: Error response from daemon: Bind for 0.0.0.0:80 failed: port is already allocated.
🔧 [PORT_CONFLICT] Port 80 is already in use by another process
💡 Fix: lsof -ti:80 | xargs kill -9
⚠️ Risk: medium — review before running
pip install bugtalk
bugtalk setupRestart your shell. Done.
bugtalk setup adds a thin Python wrapper to the front of your PATH. Every docker run, start, exec, build, and compose up command passes through it invisibly. If the command fails, bugtalk matches the error against a library of known patterns and prints a plain-English fix.
- Exit codes are always preserved → CI/CD pipelines are unaffected
- Interactive commands (
docker exec -it,docker run -it) are passed through with no capture → TTY sessions work normally - The real Docker binary is stored as an absolute path during setup → no infinite recursion, no PATH games
- Works offline — the pattern library is local
- Updates weekly in a background thread (non-blocking, never adds latency)
| Command | What it does |
|---|---|
bugtalk setup |
Install wrapper, configure PATH |
bugtalk unsetup |
Remove everything, restore original Docker |
bugtalk status |
Show version, pattern count, last update |
bugtalk update |
Pull latest patterns from GitHub now |
bugtalk report |
Open a pre-filled GitHub issue for an unknown error |
| Platform | Status |
|---|---|
| macOS (Intel + Apple Silicon) | ✅ Supported |
| Linux (Ubuntu, Debian, Fedora, Arch) | ✅ Supported |
| Windows (WSL2) | ✅ Supported |
| Windows native | ❌ Not in V1 |
Shell support: bash, zsh, fish, and any shell that sources ~/.profile.
| ID | Matches |
|---|---|
PORT_CONFLICT |
Port already allocated / address in use |
DAEMON_NOT_RUNNING |
Docker daemon not started |
IMAGE_NOT_FOUND |
Image not pulled locally |
VOLUME_PERMISSION |
Permission denied on mounted volume |
NETWORK_CONFLICT |
Network already exists |
CONTAINER_ALREADY_RUNNING |
Container already started |
DISK_SPACE |
No space left on device |
INVALID_TAG |
Bad image reference format |
PULL_RATE_LIMIT |
Docker Hub rate limit hit |
AUTH_REQUIRED |
Registry login needed |
COMPOSE_ORPHAN |
Orphan containers from old compose project |
COMPOSE_VERSION |
Obsolete version: field in compose file |
CONTEXT_NOT_FOUND |
Unknown docker context |
BUILD_NO_DOCKERFILE |
Dockerfile missing from build context |
BUILD_ARG_MISSING |
--build-arg not passed for declared ARG |
PORT_FORMAT_INVALID |
Malformed -p flag |
EXEC_NOT_RUNNING |
exec on a stopped container |
EXEC_CMD_NOT_FOUND |
Binary not in container PATH |
LAYER_CACHE_MOUNT |
BuildKit not enabled |
MANIFEST_PLATFORM |
No image for this CPU architecture |
DNS_RESOLUTION |
DNS failure inside container |
COMPOSE_PORT_CONFLICT |
Compose service port conflict |
HEALTHCHECK_FAIL |
Container healthcheck failing |
SECCOMP_DENIED |
System call blocked by seccomp |
CGROUP_OOM |
Container OOM-killed |
bugtalk unsetupNo original Docker files are ever modified. Uninstall is clean.
MIT