Awesome-omni-skill docker
Docker and containerization best practices including multi-stage builds, security, and Docker Compose.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/devops/docker-kprsnt2" ~/.claude/skills/diegosouzapw-awesome-omni-skill-docker && rm -rf "$T"
manifest:
skills/devops/docker-kprsnt2/SKILL.mdtags
source content
Docker Best Practices
Dockerfile
- Use specific base image tags (not :latest)
- Use multi-stage builds for smaller images
- Minimize layers (combine RUN commands)
- Copy package.json first for caching
- Run as non-root user
- Use .dockerignore
Example Multi-stage Build
FROM node:20-alpine AS builder WORKDIR /app COPY package*.json ./ RUN npm ci COPY . . RUN npm run build FROM node:20-alpine AS runner WORKDIR /app RUN addgroup -g 1001 nodejs RUN adduser -S nodejs -u 1001 COPY --from=builder /app/dist ./dist USER nodejs CMD ["node", "dist/index.js"]
Docker Compose
- Use version 3.8+
- Define healthchecks
- Use named volumes for persistence
- Configure restart policies
- Use environment files
Security
- Scan images for vulnerabilities
- Don't run as root
- Use secrets for sensitive data
- Keep base images updated
- Use distroless/alpine images
Performance
- Use BuildKit
- Leverage layer caching
- Use .dockerignore
- Minimize image size