acc-docker-knowledge
1
总安装量
1
周安装量
#46456
全站排名
安装命令
npx skills add https://github.com/dykyi-roman/awesome-claude-code --skill acc-docker-knowledge
Agent 安装分布
opencode
1
claude-code
1
Skill 文档
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 |
|---|---|---|
php:8.4-fpm-alpine |
Production (FPM) | ~50MB |
php:8.4-cli-alpine |
CI/workers | ~45MB |
php:8.4-fpm |
Production (Debian) | ~150MB |
php:8.4-cli |
CI/workers (Debian) | ~140MB |
php:8.4-apache |
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
-
.dockerignorepresent - 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
.envfile - Dependency ordering with
depends_on+condition - 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 |
|---|---|---|
FROM php:latest |
Dockerfile | High |
COPY . . before deps install |
Dockerfile | High |
| Running as root | Dockerfile | High |
| Secrets in ENV/ARG | Dockerfile | Critical |
| No health check | Dockerfile/Compose | Medium |
No .dockerignore |
Project root | Medium |
privileged: true |
docker-compose.yml | Critical |
| Hardcoded passwords | docker-compose.yml | Critical |
| No resource limits | docker-compose.yml | Medium |
Missing depends_on 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:
references/image-selection.mdâ Base image comparison and selection guidereferences/multistage-patterns.mdâ Multi-stage build patterns for PHPreferences/security-hardening.mdâ Security best practices and hardeningreferences/compose-patterns.mdâ Docker Compose patterns for PHP stacksreferences/production-checklist.mdâ Production readiness checklist