docker

A set of guidelines for Docker and Docker Compose, tools for packaging applications and running them in isolated containers.

In plain words
What is it for?
Writing Dockerfiles and Compose configurations, choosing base images, reducing image size, using multi-stage builds, excluding files, and limiting container privileges.
Why use it?
It helps keep container images smaller, safer, reproducible, and less likely to include secrets or unnecessary files.

Cursor rule

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add rules/chand1012/cursorrules/docker
Clone the repo
git clone --depth 1 https://github.com/chand1012/cursorrules
Per session 0 Nothing until a file matches its globs; then the whole rule loads.
When invoked 1,831 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.01831
Opus 5 $0.00000 $0.00915
Sonnet 5 $0.00000 $0.00366
Haiku 4.5 $0.00000 $0.00183

Measured yesterday against content hash 8666632a2b02, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

docker scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

Copies of this mod

1 near-identical copy found in the catalogue:

languages/docker.mdc · 255 lines

How it starts

The opening of the file, as written. The whole thing — 255 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Docker Best Practices

Base Images

  • Use official base images from Docker Hub
  • Use specific version tags, never latest
  • Prefer slim or alpine variants for smaller images
  • Choose appropriate base image for your language/framework
  • Update base images regularly for security patches

Image Optimization

  • Minimize layer count by combining RUN commands
  • Order Dockerfile commands by change frequency (rarely changing first)
  • Use multi-stage builds to reduce final image size
  • Remove package manager caches after installation
  • Delete temporary files and build artifacts
  • Keep images under 500MB when possible

.dockerignore

  • Exclude .git and .gitignore
  • Exclude node_modules/, __pycache__/, venv/
  • Exclude .env, .env.local, and other secrets
  • Exclude build artifacts: dist/, build/, *.log
  • Exclude IDE files: .vscode/, .idea/, *.swp
  • Exclude documentation and test files if not needed
  • Exclude .dockerignore itself

Security

  • Run containers as non-root user
  • Create dedicated user with specific UID/GID
  • Use USER instruction to switch user
  • Drop unnecessary capabilities with cap_drop: ALL
  • Add only required capabilities with cap_add
  • Make filesystem read-only when possible
  • Set security_opt: no-new-privileges:true
  • Never store secrets in Dockerfile or environment variables
  • Use build arguments for non-sensitive configuration

Dockerfile Structure

  • Place frequently changing commands at the end
  • Copy requirements.txt or package.json before source code
  • Install dependencies before copying application code
  • Use explicit WORKDIR instruction
  • Set proper EXPOSE ports for documentation
  • Define ENTRYPOINT and CMD clearly
  • Use HEALTHCHECK for production containers

Multi-Stage Builds

  • Use builder stage for compilation and dependencies
  • Copy only necessary artifacts to final stage
  • Reduce final image size by excluding build tools
  • Use --from=builder syntax to copy between stages
  • Name stages descriptively (builder, runtime, etc.)

Read the full file on GitHub · 255 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 255 lines · 1,831 tokens per session scan A 8666632a2b02

Subscribe to this mod's changes

docker is a cursor rule published in the GitHub repository chand1012/cursorrules (13 stars, last pushed 9mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,831 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.