# Docker Local Status

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

- Skill: `majiayu000/docker-local-status` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/docker-local-status`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/docker-local-status/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/docker-local-status

---


# 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:**

```bash
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

```bash
# 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

```bash
# Full status report
docker-local status

# This shows:
# - All container states
# - Health check status
# - Port bindings
# - Uptime
```

### 3. Check Container States

```bash
# 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:

```bash
# 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

```bash
# 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

```bash
# 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

