multi-stage-dockerfile

Build optimized, secure multi-stage Dockerfiles for any language or framework. Structures builds with separate builder and runtime stages, copying only necessary artifacts to minimize final image size and attack surface Emphasizes layer caching optimization by ordering commands from least to most frequently changing, combined with .dockerignore and command consolidation Recommends minimal base images (Alpine, distroless, or official slim variants) with exact version pinning for reproducibility Covers security hardening: non-root users, build tool removal, vulnerability scanning, and secrets isolation through multi-stage separation Includes performance patterns like build arguments, environment variable optimization, and healthcheck configuration for production readiness

INSTALLATION
npx skills add https://github.com/github/awesome-copilot --skill multi-stage-dockerfile
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

$2a

  • Organize commands to maximize layer caching
  • Place commands that change frequently (like code changes) after commands that change less frequently (like dependency installation)
  • Use .dockerignore to prevent unnecessary files from being included in the build context
  • Combine related RUN commands with && to reduce layer count
  • Consider using COPY --chown to set permissions in one step

Security Practices

  • Avoid running containers as root - use USER instruction to specify a non-root user
  • Remove build tools and unnecessary packages from the final image
  • Scan the final image for vulnerabilities
  • Set restrictive file permissions
  • Use multi-stage builds to avoid including build secrets in the final image

Performance Considerations

  • Use build arguments for configuration that might change between environments
  • Leverage build cache efficiently by ordering layers from least to most frequently changing
  • Consider parallelization in build steps when possible
  • Set appropriate environment variables like NODE_ENV=production to optimize runtime behavior
  • Use appropriate healthchecks for the application type with the HEALTHCHECK instruction
BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card