Help us improve
Share bugs, ideas, or general feedback.
From role-devops
Provides expert Docker guidance on multi-stage builds, image optimization, Docker Compose orchestration, networking, volume management, security scanning, and container registry operations.
npx claudepluginhub rnavarych/alpha-engineer --plugin role-devopsHow this skill is triggered — by the user, by Claude, or both
Slash command
/role-devops:docker-expertThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
- Separate build and runtime stages to minimize final image size. The build stage installs compilers, dev dependencies, and produces artifacts; the runtime stage copies only the compiled output.
Optimizes Docker containers for performance and security with multi-stage builds, orchestration patterns via Compose/Swarm, and production deployment strategies. Analyzes Dockerfiles, environments, and validates builds.
Creates and optimizes Dockerfiles using multi-stage builds, layer caching, and language-specific patterns; sets up Docker Compose for local development; covers image size, security, networking, volumes.
Provides Dockerfile best practices, multi-stage builds for Go/Rust/Node/Python/Java, layer caching, security patterns, and Docker Compose for efficient containers.
Share bugs, ideas, or general feedback.
FROM node:20 AS builder) for clarity and to enable targeted builds with --target.FROM node:20-alpine AS builder
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci --production=false
COPY . .
RUN npm run build
FROM gcr.io/distroless/nodejs20-debian12
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules
USER nonroot
EXPOSE 3000
CMD ["dist/main.js"]
distroless images for production (no shell, no package manager, minimal attack surface). Use Alpine when you need a shell for debugging..dockerignore aggressively to exclude .git, node_modules, IDE configs, and local env files.FROM node:20-alpine@sha256:abc123....RUN commands with && to reduce layers, and clean up package manager caches in the same layer.docker-compose.yml for local development with service dependencies, shared networks, and volume mounts.profiles to group services (e.g., debug, monitoring) that are not needed in every run.docker-compose.override.yml) for local-specific settings; keep the base file production-like.docker run --volumes-from or volume driver plugins that support snapshots.USER nonroot or a dedicated UID in the Dockerfile.--cap-drop=ALL --cap-add=NET_BIND_SERVICE.read-only root filesystems where possible and mount tmpfs for directories that need writes.--mount=type=secret) or runtime injection.HEALTHCHECK in every Dockerfile: an HTTP endpoint for web services, a TCP check for databases, or a command for CLI tools..dockerignore is present and comprehensive