What problem does it solve? Dockerfiles written ad hoc often produce bloated, non-reproducible images that run as root, leak secrets into layers, and break cache efficiency on every code change. This Skill provides a concrete rule set and anti-pattern list so generated or reviewed Dockerfiles follow secure, reproducible containerization practices. ## Core Features & Use Cases - Multi-stage build conventions: Separates builder and runtime stages so compilers, SDKs, and source never ship in the final image. - Reproducibility and caching rules: Pins exact base-image tags and orders instructions so dependency layers stay cached across code-only changes. - Security hardening: Enforces non-root users, .dockerignore coverage, secret handling outside image layers, and HEALTHCHECK wiring. - Use Case: When containerizing a Java/Gradle service, apply the rules to produce a pinned eclipse-temurin multi-stage Dockerfile with a non-root user, cached dependency layer, and an HTTP health check. ## Quick Start Write a production Dockerfile for my application following the containerization-docker rules for multi-stage builds, pinned base images, and non-root execution.