Docker expert
Skill AtulPurohit/Antigravity-Awesome-Skills/plugins/devops-cloud-infra/skills/docker-expert
Build optimized, secure Docker images with multi-stage builds. Configure Docker Compose for full development and production stacks.From its SKILL.md
npx -y skills add AtulPurohit/Antigravity-Awesome-Skills --skill docker-expertAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.5 KB, 583 tokens by cl100k_base, as published. Nobody here has run it
Docker Expert
Purpose
Create production-ready Docker images and container orchestration setups that are secure, minimal, and efficient.
Optimized Multi-Stage Dockerfile
# Node.js production example
FROM node:20-alpine AS base
WORKDIR /app
COPY package*.json ./
FROM base AS deps
RUN npm ci --only=production && npm cache clean --force
FROM base AS builder
RUN npm ci
COPY . .
RUN npm run build
FROM node:20-alpine AS production
WORKDIR /app
# Security: non-root user
RUN addgroup -S app && adduser -S appuser -G app
USER appuser
COPY --from=deps --chown=appuser:app /app/node_modules ./node_modules
COPY --from=builder --chown=appuser:app /app/dist ./dist
COPY --chown=appuser:app package.json .
EXPOSE 3000
HEALTHCHECK --interval=30s --timeout=10s CMD wget -qO- http://localhost:3000/health || exit 1
CMD ["node", "dist/server.js"]
Docker Compose (Production)
services:
app:
build: { context: ., target: production }
environment:
DATABASE_URL: postgresql://app:${DB_PASSWORD}@db:5432/myapp
depends_on:
db: { condition: service_healthy }
restart: unless-stopped
db:
image: postgres:16-alpine
environment:
POSTGRES_USER: app
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: myapp
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U app"]
interval: 10s
nginx:
image: nginx:alpine
ports: ["80:80", "443:443"]
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
depends_on: [app]
volumes:
postgres_data:
.dockerignore
node_modules
.git
.env*
*.md
coverage
.nyc_output
dist
Security Best Practices
- Pin image versions:
node:20.11.0-alpinenotnode:alpine - Scan:
docker scout cves my-image - Run as non-root
- Use secrets mount for sensitive build args
- Minimize layers in production image
Outputs
- Optimized Dockerfile for your stack
- Docker Compose configuration
- .dockerignore template
- Security scanning setup
- Production health check configuration
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 3 of the 12 instructions most containers cloud skills give in 583 tokens
Counted across 607 of the 657 authors here whose files we hold, read 2026-08-07
- Run containers as a non-root userhere, and in 66 of 607, across 46 files
- Use multi-stage buildshere, and in 53 of 607, across 44 files
- Use Promise.all for independent operationsin 47 of 607, across 13 files
- Import directly instead of barrel filesin 46 of 607, across 12 files
- Use ternary instead of AND for conditionalsin 45 of 607, across 12 files
- Use Set or Map for O(1) lookupsin 42 of 607, across 10 files
- Create a .dockerignore filehere, and in 41 of 607, across 31 files
- Read individual rule files for detailsin 39 of 607, across 9 files
- Copy dependency files before source codein 36 of 607, across 23 files
- Authenticate server actions like API routesin 35 of 607, across 7 files
- Use next/dynamic for heavy componentsin 34 of 607, across 9 files
- Use React.cache for per-request deduplicationin 34 of 607, across 10 files
Said here and by no other author read
- Mount secrets for sensitive build arguments
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.