Ops docker
Skill christopherlouet/claude-base/.claude/skills/ops-docker
Docker and Docker Compose containerization. Trigger when the user wants to dockerize an application or create containers.From its SKILL.md
npx -y skills add christopherlouet/claude-base --skill ops-dockerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.5 KB, 575 tokens by cl100k_base, as published. Nobody here has run it
Docker Containerization (pointer)
Dockerfile syntax, Compose schema and image-publish flows drift on each release and are canonical at:
- Docker official — docs.docker.com (Engine + Compose + Buildx)
- Dockerfile best practices — docs.docker.com/develop/develop-images/dockerfile_best-practices
- Snyk Container Security — snyk.io/learn/container-security (vulnerability scanning, base-image hardening)
- Hadolint — github.com/hadolint/hadolint (Dockerfile linter, CI-integrable)
- Dive — github.com/wagoodman/dive (image layer analysis)
Foundation discipline (keep across releases)
- Multi-stage builds: always separate build deps from runtime image. The "node:20 with full npm" image weighs 1GB+; the runtime layer should be ~100MB. Build stage produces artifacts, runtime stage copies them in.
- Non-root user:
RUN addgroup -S app && adduser -S app -G app && USER app— never run app code as root inside the container, even if "it's just a sandbox". - .dockerignore mandatory: forgotten
.git/ornode_modules/in the build context bloats images by hundreds of MB and leaks secrets. The.dockerignorerules mirror your.gitignoreplus build artifacts. - HEALTHCHECK at the Dockerfile level: not just at the orchestrator level. Lets Docker/Compose detect unhealthy containers before the orchestrator does.
- Pin base image major+minor (
node:20-alpine, notnode:latestor barenode:20): floating tags break reproducibility; SHA pinning is overkill for most apps but worth it for security-critical builds. - Secret management: never
COPY .envor hardcode credentials inENV. Use BuildKit secrets (--mount=type=secret) or runtime-injected env vars from the orchestrator.
See also
/ops:ops-deploy— deployment checklist consumes the built image/ops:ops-database— Compose patterns for DB services (depends_on: { condition: service_healthy })qa-security— image scanning gate (Snyk/Trivy) before pushops-ci— Hadolint + image scan as CI steps
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.