Awesome-claude-code docker-knowledge
Docker knowledge base for PHP projects. Provides patterns, best practices, and guidelines for Dockerfile, Compose, security, and production readiness.
install
source · Clone the upstream repo
git clone https://github.com/dykyi-roman/awesome-claude-code
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/dykyi-roman/awesome-claude-code "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/docker-knowledge" ~/.claude/skills/dykyi-roman-awesome-claude-code-docker-knowledge && rm -rf "$T"
manifest:
skills/docker-knowledge/SKILL.mdsource content
Docker Knowledge Base
Quick reference for Docker patterns and PHP-specific guidelines.
Core Concepts
┌─────────────────────────────────────────────────────────────────┐ │ DOCKER FOR PHP │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ Dockerfile → Build image instructions │ │ docker-compose.yml → Multi-container orchestration │ │ .dockerignore → Build context exclusions │ │ entrypoint.sh → Container startup logic │ │ nginx.conf → Reverse proxy for PHP-FPM │ │ php.ini → PHP runtime configuration │ │ supervisord.conf → Process management │ │ │ │ Multi-Stage Build: │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ composer │ │ php-ext │ │production│ │ │ │ deps │──│ builder │──│ final │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘
PHP Docker Image Types
| Image | Use Case | Size |
|---|---|---|
| Production (FPM) | ~50MB |
| CI/workers | ~45MB |
| Production (Debian) | ~150MB |
| CI/workers (Debian) | ~140MB |
| Simple deployments | ~160MB |
Quick Checklists
Dockerfile Checklist
- Multi-stage build (deps → build → production)
- Alpine base image when possible
- Pinned version tags (not
)latest - BuildKit syntax header
- Non-root user
- Health check defined
-
present.dockerignore - Composer deps installed before source copy
- Production PHP config (
)php.ini-production - OPcache enabled and configured
- No secrets in build args or layers
Docker Compose Checklist
- Health checks for all services
- Named volumes for persistent data
- Environment variables via
file.env - Dependency ordering with
+depends_oncondition - Resource limits defined
- Networks segmented (frontend/backend)
- No hardcoded passwords
Security Checklist
- Non-root user (
)USER app - Read-only root filesystem where possible
- No secrets in Dockerfile or image
- Minimal base image
- No unnecessary packages
- Capabilities dropped
- No privileged mode
Common Violations Quick Reference
| Violation | Where | Severity |
|---|---|---|
| Dockerfile | High |
before deps install | Dockerfile | High |
| Running as root | Dockerfile | High |
| Secrets in ENV/ARG | Dockerfile | Critical |
| No health check | Dockerfile/Compose | Medium |
No | Project root | Medium |
| docker-compose.yml | Critical |
| Hardcoded passwords | docker-compose.yml | Critical |
| No resource limits | docker-compose.yml | Medium |
Missing conditions | docker-compose.yml | Medium |
PHP-Specific Best Practices
Extensions Installation
# Alpine: use apk + docker-php-ext-install RUN apk add --no-cache libzip-dev icu-dev \ && docker-php-ext-install zip intl pdo_mysql opcache # Debian: use apt-get + docker-php-ext-install RUN apt-get update && apt-get install -y \ libzip-dev libicu-dev \ && docker-php-ext-install zip intl pdo_mysql opcache \ && rm -rf /var/lib/apt/lists/*
OPcache Configuration (Production)
opcache.enable=1 opcache.enable_cli=1 opcache.memory_consumption=256 opcache.interned_strings_buffer=16 opcache.max_accelerated_files=20000 opcache.validate_timestamps=0 opcache.jit=1255 opcache.jit_buffer_size=256M
PHP-FPM Tuning
pm = dynamic pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 1000
References
For detailed information, load these reference files:
— Base image comparison and selection guidereferences/image-selection.md
— Multi-stage build patterns for PHPreferences/multistage-patterns.md
— Security best practices and hardeningreferences/security-hardening.md
— Docker Compose patterns for PHP stacksreferences/compose-patterns.md
— Production readiness checklistreferences/production-checklist.md