| name | docker |
| description | Operate Docker locally for dev work — containers, images, Compose stacks, and Docker Desktop lifecycle. Use when the user says "docker", "spin up a container", "what's running", "docker compose up/down", "build an image", "view logs", "exec into", "stop/remove a container", "free up docker space", "prune", "restart docker desktop", "is docker running", or any local Docker task.
|
| argument-hint | [ps | up | down | logs SERVICE | build | prune | desktop start|stop|status] |
| allowed-tools | Bash(docker:*) |
Docker — local dev ops
Drive Docker from the terminal for everyday dev work: containers, images, Compose
stacks, Docker Desktop lifecycle, and cleanup. Everything is docker … (Compose is
docker compose, Desktop is docker desktop).
Scope: local CLI ops only. This does not wire up Docker's MCP servers —
Docker ships its own Claude Code plugin for that (docker/claude-plugins →
docker-mcp-toolkit, or docker mcp client connect claude-code). Full command
catalog, networks/volumes, and troubleshooting are in reference.md.
First — is the daemon up?
docker info >/dev/null 2>&1 && echo "Docker running" || echo "Docker NOT running"
docker desktop status
docker desktop start
Containers
docker ps
docker ps -a
docker run --rm -it IMAGE
docker logs -f NAME
docker exec -it NAME sh
docker stop NAME && docker rm NAME
docker inspect NAME
Images
docker images
docker build -t NAME:TAG .
docker pull IMAGE:TAG
docker rmi IMAGE
Compose (multi-container stacks)
docker compose up -d
docker compose ps
docker compose logs -f SERVICE
docker compose down
docker compose up -d --build SERVICE
Docker Desktop lifecycle (docker desktop)
docker desktop status | start | stop | restart
docker desktop update
docker desktop engine ls
Free up space (safe → aggressive)
docker system df
docker container prune
docker image prune
docker system prune
docker system prune -a --volumes
Always warn before prune -a --volumes — it deletes unused images and volumes (data loss). Confirm with the user first.
Common asks → command
| User says | Run |
|---|
| "what's running?" | docker ps |
| "bring up the stack" | docker compose up -d |
| "tear it down" | docker compose down |
| "show me X's logs" | docker logs -f X (or docker compose logs -f X) |
| "get me a shell in X" | docker exec -it X sh |
| "rebuild X" | docker compose up -d --build X |
| "docker's eating my disk" | docker system df → docker system prune |
| "is docker on?" | docker info / docker desktop status |
Safety
- Confirm before anything destructive:
rm, rmi, down -v, system prune -a --volumes. Name exactly what will be deleted.
docker desktop stop halts all containers — confirm if the user has running work.
- Prefer
--rm for one-off runs so they don't pile up.
Sandboxes (run an agent in an isolated VM)
docker sandbox run claude .
docker sandbox ls
docker sandbox rm NAME
docker sandbox runs a coding agent (claude/codex/copilot/gemini/cagent/shell) inside an isolated Linux VM. With no ANTHROPIC_API_KEY set, sandboxed claude uses OAuth (your subscription). Full lifecycle + gotchas in reference.md.
For the full reference (networks, volumes, buildx, contexts, exec/stats/inspect, sandboxes, and troubleshooting like port conflicts, a wedged daemon, and the Windows/WSL2 stuck-on-starting recovery), see reference.md.