Marketplace

docker-local-status

Check docker-local environment status - all services, containers, and project accessibility

$ Installer

git clone https://github.com/mwguerra/claude-code-plugins /tmp/claude-code-plugins && cp -r /tmp/claude-code-plugins/docker-local/skills/docker-local-status ~/.claude/skills/claude-code-plugins

// tip: Run this command in your terminal to install the skill


name: docker-local-status description: Check docker-local environment status - all services, containers, and project accessibility

Docker-Local Status Skill

Overview

This skill checks the complete status of the docker-local development environment, including:

  • Docker daemon status
  • Container states
  • Service health
  • Project accessibility
  • Network connectivity

Activation

Use this skill when:

  • User wants to know if Docker is running
  • User asks about service status
  • User needs to verify their environment
  • Troubleshooting connectivity issues

MANDATORY: Prerequisite Check

Before ANY docker-local command, verify installation:

which docker-local > /dev/null 2>&1

If docker-local is NOT found:

  1. Stop and ask the user if they want to install it
  2. If yes, install via: composer global require mwguerra/docker-local
  3. Add to PATH: export PATH="$HOME/.composer/vendor/bin:$PATH"
  4. Initialize: docker-local init
  5. Verify: which docker-local && docker-local --version

Process

1. Check Docker Installation

# Verify docker-local is installed
which docker-local

# Check Docker daemon
docker info > /dev/null 2>&1 && echo "Docker is running" || echo "Docker is NOT running"

2. Check Environment Status

# Full status report
docker-local status

# This shows:
# - All container states
# - Health check status
# - Port bindings
# - Uptime

3. Check Container States

# List all docker-local containers
docker compose -f ~/.config/docker-local/docker-compose.yml ps -a

# Or using docker-local
docker-local status

4. Verify Services

Check each service individually if needed:

# Check specific logs
docker-local logs mysql
docker-local logs postgres
docker-local logs redis
docker-local logs traefik
docker-local logs nginx
docker-local logs mailpit
docker-local logs minio

5. Check Project Accessibility

# List all projects with their status
docker-local list

# This shows:
# - Project name
# - URL (https://project.test)
# - Status (accessible, DNS ok, not configured)

6. Test Connections

# Test database connections
docker exec mysql mysqladmin ping -h localhost -u root -psecret

# Test Redis
docker exec redis redis-cli ping

# Test PostgreSQL
docker exec postgres pg_isready -U laravel

Expected Output

A healthy environment shows:

  • All containers in "Up" state
  • Health checks passing (healthy)
  • Projects accessible via *.test domains
  • Database connections working

Common Issues

Docker Not Running

Docker is NOT running

Solution: Start Docker Desktop (macOS/Windows) or sudo systemctl start docker (Linux)

Containers Not Started

Container php: Exited

Solution: Run docker-local up to start containers

Port Conflicts

Error: Port 3306 already in use

Solution: Stop the conflicting service or change the port in config

DNS Not Configured

Status: DNS not configured

Solution: Run sudo docker-local setup:dns or add entries to /etc/hosts

Output Format

Report the status in a clear format:

Docker-Local Status
==================

Docker Daemon: Running
Environment: Up

Services:
  - php:      Running (healthy)
  - mysql:    Running (healthy)
  - postgres: Running (healthy)
  - redis:    Running (healthy)
  - traefik:  Running (healthy)
  - nginx:    Running (healthy)
  - mailpit:  Running (healthy)
  - minio:    Running (healthy)

Projects:
  - blog:  https://blog.test  (accessible)
  - api:   https://api.test   (accessible)

$ARGUMENTS