From docker-specialist
Diagnoses Docker container failures, networking issues, permissions errors, port conflicts, data persistence problems, and health checks using docker compose logs, inspect, and targeted fixes.
How this skill is triggered — by the user, by Claude, or both
Slash command
/docker-specialist:troubleshootThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill helps diagnose and resolve common Docker issues:
This skill helps diagnose and resolve common Docker issues:
Read relevant documentation:
17-troubleshooting.md for common issues15-port-conflicts.md for port problems16-restart-strategies.md for restart issuesGather information:
# Check container status
docker compose ps -a
# View logs
docker compose logs servicename
# Check configuration
docker compose config
# Inspect container
docker inspect containername
Diagnosis:
docker compose logs servicename
docker inspect --format='{{.State.ExitCode}}' containername
Solutions:
Diagnosis:
lsof -i :3000
# or
netstat -tulpn | grep 3000
Solutions:
# Kill process
kill $(lsof -t -i:3000)
# Or change port in compose
ports:
- "3001:3000"
Diagnosis:
docker compose exec app ls -la /app/data
Solutions:
# Fix in compose
services:
app:
user: "1000:1000"
# Or fix in container
docker compose exec -u root app chown -R appuser:appgroup /app/data
Diagnosis:
docker volume ls
docker compose config | grep -A5 "volumes:"
Solutions:
# Use named volumes instead of anonymous
volumes:
- postgres_data:/var/lib/postgresql/data # Named (persists)
# NOT: - /var/lib/postgresql/data # Anonymous (deleted)
Diagnosis:
docker network inspect networkname
docker compose exec app ping db
docker compose exec app nslookup db
Solutions:
# Ensure same network
services:
app:
networks:
- backend
db:
networks:
- backend
networks:
backend:
Diagnosis:
docker inspect --format='{{json .State.Health}}' containername | jq
Solutions:
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s # Give time to start
Diagnosis:
docker system df
docker system df -v
Solutions:
# Clean unused resources
docker system prune -a --volumes
Solutions:
docker compose build --no-cache
docker builder prune -a
# Shell into running container
docker compose exec app sh
# Shell into failed container
docker compose run --entrypoint sh app
# View resource usage
docker stats
# View container processes
docker compose top
# View real-time events
docker events
# Copy files from container
docker compose cp app:/app/logs ./logs
docker compose psdocker compose logs servicenamedocker network lsdocker volume lsdocker statsdocker compose configdocker system df| Error | Cause | Solution |
|---|---|---|
| "port is already allocated" | Port in use | Kill process or change port |
| "network not found" | Missing network | Create network or check name |
| "volume not found" | Missing volume | Create volume or check name |
| "no such service" | Service name typo | Check compose.yaml |
| "unauthorized" | Auth issue | docker login |
| "image not found" | Missing image | docker compose pull |
| "permission denied" | File permissions | Fix ownership/permissions |
| "out of memory" | Memory limit | Increase limit or optimize app |
npx claudepluginhub mwguerra/claude-code-plugins --plugin docker-specialistProvides solutions for common Docker build and runtime errors in PHP containers (e.g., OOM, permission denied, PHP-FPM crashes) plus diagnostic bash commands for logs, inspection, and stats.
Docker and Podman container management: Dockerfile optimization, multi-stage builds, Compose v2 orchestration, networking, volumes, security hardening, supply chain integrity, health checks, resource limits, Quadlet systemd integration, and debugging. Invoke whenever task involves any interaction with containers — writing Dockerfiles, configuring Compose, managing Podman Quadlets, reviewing container security, debugging container issues, or setting up image signing and scanning.
Defines and runs multi-container Docker applications with Docker Compose YAML, covering services, volumes, commands, environment variables, health checks, and resource limits.