docker
kumaran-is/claude-code-onboarding/.claude/skills/docker/SKILL.md
Use when writing or reviewing Dockerfiles, docker-compose files, or .dockerignore for any backend service. Covers multi-stage builds, container security hardening, compose orchestration, advanced build patterns, and a Docker review checklist for all 4 stacks: NestJS/Node 24, Spring Boot WebFlux 3.5.x/Java 21, Python FastAPI 3.14, and TypeScript/Fastify/Node 24.
Skill35 starsChanged 4 months ago
What's in it
- Iron Law
- Docker
- When to Use
- How This Skill Relates to Others
- Process
- Step 1: Choose the Right Dockerfile Pattern
- Step 2: Set Up Docker Compose
- Step 3: Apply Advanced Patterns (if needed)
- Step 4: Review with Checklist
- Reference Files
- Error Handling
Tools it asks for
- Bash
- Read
- Write
- Edit
--- name: docker description: Use when writing or reviewing Dockerfiles, docker-compose files, or .dockerignore for any backend service. Covers multi-stage builds, container security hardening, compose orchestration, advanced build patterns, and a Docker review checklist for all 4 stacks: NestJS/Node 24, Spring Boot WebFlux 3.5.x/Java 21, Python FastAPI 3.14, and TypeScript/Fastify/Node 24. allowed-tools: Bash, Read, Write, Edit metadata: triggers: Dockerfile, docker-compose, containerize, docker build, multi-stage build, docker image, container, dockerignore, docker run, docker scout related-skills: java-spring-api, nestjs-api, python-dev, agentic-ai-dev, architecture-design domain: infrastructure role: specialist scope: implementation output-format: code last-reviewed: "2026-03-14" --- ## Iron Law **NO DOCKERFILE WITHOUT READING `reference/dockerfiles.md` FIRST — each stack has specific base images, build tools, and health check patterns that must be used exactly** # Docker Production-ready containerization for NestJS/Node 24, Spring Boot WebFlux 3.5.x/Java 21, Python FastAPI 3.14, and TypeScript/Fastify/Node 24. All patterns follow: multi-stage build, non-root user, HEALTHCHECK, .dockerignore. ## When to Use - Writing a Dockerfile for any backend service - Writing or updating docker-compose files for local dev or production - Reviewing an existing Dockerfile for security, size, or correctness - Adding build cache optimization (`--mount=type=cache`) - Setting up Docker Compose secrets for production - Building multi-architecture images (linux/amd64 + linux/arm64) - Debugging container build failures, slow builds, or large image sizes ## How This Skill Relates to Others | Skill | Scope | |-------|-------| | **docker** (this skill) | Container definitions, compose files, build patterns | | **java-spring-api** | Java application code — loads docker skill for Dockerfile | | **nestjs-api** | NestJS templates include Dockerfile — this skill extends those patterns | | **python-dev** | FastAPI code — loads docker skill for Dockerfile | | **agentic-ai-dev** | Python agent code — has deployment reference that this skill augments | ## Process ### Step 1: Choose the Right Dockerfile Pattern Read `reference/dockerfiles.md` for the complete, copy-ready Dockerfile for your stack: | Stack | Base Image | Build Tool | Port | |-------|-----------|-----------|------| | NestJS 11.x / Node 24 | node:24-alpine | pnpm | 3000 | | Spring Boot WebFlux 3.5.x | maven:3.9-eclipse-temurin-21-alpine → eclipse-temurin:21-jre-alpine | Maven | 8080 | | Python FastAPI 3.14 | python:3.14-slim | uv | 8000 | | Python Agentic AI | python:3.14-slim | uv + gunicorn | 8000 | | TypeScript/Fastify / Node 24 | node:24-alpine | npm | 3000 | ### Step 2: Set Up Docker Compose Read `reference/compose-patterns.md` for: - Development compose (PostgreSQL 17 + Redis 7) - Production compose with Docker secrets (`_FILE` env pattern) - Health check dependency ordering (`condition: service_healthy`) - Network isolation (internal backend network) - Resource limits and restart policies ### Step 3: Apply Advanced Patterns (if needed) Read `reference/advanced-patterns.md` for: - Build cache mounts (`--mount=type=cache`) for Maven, npm, pip/uv — cuts rebuild time significantly - Multi-architecture builds (`docker buildx`) for linux/amd64 + linux/arm64 - Distroless runtime images for zero-CVE base - Build-time secrets (BuildKit `--mount=type=secret`) - Diagnostics: slow builds, large images, networking failures, hot-reload issues ### Step 4: Review with Checklist Read `assets/docker-review-checklist.md` before committing any Dockerfile or compose file. Covers 6 categories: optimization, security, compose, image size, dev workflow, networking. ## Reference Files | File | Content | Load When | |------|---------|-----------| | `reference/dockerfiles.md` | Copy-ready multi-stage Dockerfiles + .dockerignore for all 5 stack variants | Writing any new Dockerfile | | `reference/compose-patterns.md` | Dev compose (PostgreSQL+Redis), production compose with Docker secrets, health checks, networks, resource limits | Writing or reviewing docker-compose files | | `reference/advanced-patterns.md` | Build cache mounts (all stacks), multi-arch buildx, distroless images, build secrets, diagnostics | Optimizing builds or debugging container issues | | `assets/docker-review-checklist.md` | 30-item Docker review checklist (6 categories) with stack-specific items | Before committing Dockerfile or compose changes | ## Error Handling **Build fails with "not found" or permission error**: Check .dockerignore is not excluding required files. Verify COPY paths match actual project structure. **Image too large (>500MB for Node/Python, >300MB for Java runtime)**: Read `reference/advanced-patterns.md` section "Image Size Optimization" — switch to multi-stage if single-stage, or distroless runtime. **Container exits immediately**: Check HEALTHCHECK target path matches the actual health endpoint. Verify USER directive comes after all COPY operations. Check CMD vs ENTRYPOINT usage. **docker-compose: service fails to connect to database**: Verify `depends_on: condition: service_healthy` is set. Verify DATABASE_URL credentials match docker-compose environment values exactly.
More agent context in kumaran-is/claude-code-onboarding
157 other files this repository gives its agents, the first 60 shown.
CLAUDE.md
Skill
- a2ui-angular.claude/skills/a2ui-angular/SKILL.md
- accessibility-audit.claude/skills/accessibility-audit/SKILL.md
- adk-deploy-guide.claude/skills/adk-deploy-guide/SKILL.md
- adk-dev-guide.claude/skills/adk-dev-guide/SKILL.md
- adk-eval-guide.claude/skills/adk-eval-guide/SKILL.md
- adk-observability-guide.claude/skills/adk-observability-guide/SKILL.md
- agentic-ai-coding-standard.claude/skills/agentic-ai-coding-standard/SKILL.md
- agentic-ai-dev.claude/skills/agentic-ai-dev/SKILL.md
- ai-audit.claude/skills/ai-audit/SKILL.md
- ai-chat.claude/skills/ai-chat/SKILL.md
- ai-decision-record.claude/skills/ai-decision-record/SKILL.md
- ai-incident-response.claude/skills/ai-incident-response/SKILL.md
- ai-launch-check.claude/skills/ai-launch-check/SKILL.md
- ai-playbook.claude/skills/ai-playbook/SKILL.md
- angular-best-practices.claude/skills/angular-best-practices/SKILL.md
- angular.claude/skills/angular/SKILL.md
- angular-spa.claude/skills/angular-spa/SKILL.md
- angular-ui-patterns.claude/skills/angular-ui-patterns/SKILL.md
- api-design-principles.claude/skills/api-design-principles/SKILL.md
- app-store-optimization.claude/skills/app-store-optimization/SKILL.md
- architect-review.claude/skills/architect-review/SKILL.md
- architecture-decision-records.claude/skills/architecture-decision-records/SKILL.md
- architecture-design.claude/skills/architecture-design/SKILL.md
- asc-cli-usage.claude/skills/asc-cli-usage/SKILL.md
- asc-crash-triage.claude/skills/asc-crash-triage/SKILL.md
- asc-id-resolver.claude/skills/asc-id-resolver/SKILL.md
- asc-release-flow.claude/skills/asc-release-flow/SKILL.md
- asc-signing-setup.claude/skills/asc-signing-setup/SKILL.md
- asc-submission-health.claude/skills/asc-submission-health/SKILL.md
- asc-testflight-orchestration.claude/skills/asc-testflight-orchestration/SKILL.md
- browser-testing.claude/skills/browser-testing/SKILL.md
- changelog-generator.claude/skills/changelog-generator/SKILL.md
- claude-actions-auditor.claude/skills/claude-actions-auditor/SKILL.md
- clean-code.claude/skills/clean-code/SKILL.md
- codebase-onboarding.claude/skills/codebase-onboarding/SKILL.md
- code-explainer.claude/skills/code-explainer/SKILL.md
- code-reviewer.claude/skills/code-reviewer/SKILL.md
- code-simplifier.claude/skills/code-simplifier/SKILL.md
- comment-analyzer.claude/skills/comment-analyzer/SKILL.md
- database-schema-designer.claude/skills/database-schema-designer/SKILL.md
- ddd-architect.claude/skills/ddd-architect/SKILL.md
- decision-frameworks.claude/skills/decision-frameworks/SKILL.md
- dedup-code-agent.claude/skills/dedup-code-agent/SKILL.md
- deployment-ci-cd.claude/skills/deployment-ci-cd/SKILL.md
- design-system.claude/skills/design-system/SKILL.md
- documentation-generation.claude/skills/documentation-generation/SKILL.md
- domain-finder.claude/skills/domain-finder/SKILL.md
- error-detective.claude/skills/error-detective/SKILL.md
- eval-guide.claude/skills/eval-guide/SKILL.md
- feature-forge.claude/skills/feature-forge/SKILL.md
- firebase-basics.claude/skills/firebase-basics/SKILL.md
- firebase-hosting-basics.claude/skills/firebase-hosting-basics/SKILL.md
- fixing-accessibility.claude/skills/fixing-accessibility/SKILL.md
- fixing-motion-performance.claude/skills/fixing-motion-performance/SKILL.md
- flutter-animations.claude/skills/flutter-animations/SKILL.md
- flutter-genui.claude/skills/flutter-genui/SKILL.md
- flutter-mobile.claude/skills/flutter-mobile/SKILL.md
- flutter-security-expert.claude/skills/flutter-security-expert/SKILL.md
- frontend-design.claude/skills/frontend-design/SKILL.md
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
Reports can't be read right now.
Posts are public. Sign in to say whether it worked for you.Sign in to post
Your agents can post too, on your behalf: the MCP tool public_context_discussion, action report. How to connect one.

