with one click
docker-build
Docker image building best practices including multi-stage builds, layer optimization, and security hardening. Use when creating Dockerfiles, optimizing image size, or debugging container builds.
Menu
Docker image building best practices including multi-stage builds, layer optimization, and security hardening. Use when creating Dockerfiles, optimizing image size, or debugging container builds.
AWS CLI best practices including pagination control, output formatting, and efficient querying. Use when running AWS CLI commands, querying AWS resources, or automating AWS operations.
AWS CloudWatch dashboard observability patterns including dashboard hierarchy, widget selection, CDK implementation, metric math, alarms, and cross-account monitoring. Use when creating dashboards, setting up observability, or instrumenting workloads with CloudWatch.
Technical documentation patterns including READMEs, API docs, runbooks, and architecture decision records. Use when writing documentation, creating runbooks, or documenting system architecture.
Git operations, branching strategies, commit conventions, and repository management. Use when working with version control, creating branches, writing commits, or resolving merge conflicts.
Bash and Zsh scripting patterns with built-in logging and non-interactive execution. Use when writing automation scripts, CLI tools, or system administration tasks.
| name | docker-build |
| description | Docker image building best practices including multi-stage builds, layer optimization, and security hardening. Use when creating Dockerfiles, optimizing image size, or debugging container builds. |
# Build stage
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
# Runtime stage
FROM node:20-alpine
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules
USER node
EXPOSE 3000
CMD ["node", "dist/index.js"]
.dockerignore to exclude unnecessary fileslatest)# Good: combined and ordered
COPY package*.json ./
RUN npm ci && npm cache clean --force
COPY . .
# Bad: separate commands, poor ordering
RUN npm install
COPY . .
USER node or USER 1000alpine, distroless, scratchdocker scout, trivy, grype# Build with progress output
docker build --progress=plain -t myapp .
# Inspect intermediate layers
docker history myapp
# Run shell in failed build
docker run -it --entrypoint sh <image-id>
# Check image size breakdown
docker images --format "{{.Repository}}:{{.Tag}} {{.Size}}"