docker-containerization
SKILL.md
Docker & Containerization
Best practices for Docker and containerized applications.
When to Use
- Containerizing applications
- Writing or optimizing Dockerfiles
- Setting up development or production environments
Dockerfile Best Practices
Multi-Stage Builds
# Build stage
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
# Production stage
FROM node:20-alpine
WORKDIR /app
COPY /app/dist ./dist
COPY /app/node_modules ./node_modules
EXPOSE 3000
CMD ["node", "dist/index.js"]
Security Practices
# Use specific versions, not latest
FROM python:3.11-slim
# Create non-root user
RUN useradd -m appuser
USER appuser
# Minimize layers and cache
RUN apt-get update && apt-get install -y --no-install-recommends \
package \
&& rm -rf /var/lib/apt/lists/*
.dockerignore
node_modules
.git
*.log
.env
.DS_Store
Docker Compose
version: '3.8'
services:
app:
build: .
ports:
- "3000:3000"
environment:
- NODE_ENV=production
depends_on:
- db
db:
image: postgres:15-alpine
volumes:
- pgdata:/var/lib/postgresql/data
volumes:
pgdata:
Resources
Weekly Installs
4
Repository
kinhluan/skillsGitHub Stars
1
First Seen
1 day ago
Security Audits
Installed on
opencode4
gemini-cli4
github-copilot4
codex4
kimi-cli4
amp4