Claude-skill-registry containerization
Docker and Kubernetes workflows for containerization. Use for building containers, orchestration, and cloud-native deployments.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/containerization" ~/.claude/skills/majiayu000-claude-skill-registry-containerization && rm -rf "$T"
manifest:
skills/data/containerization/SKILL.mdsource content
🐳 Containerization Skill
Docker Basics
Dockerfile
# 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 ENV NODE_ENV=production COPY --from=builder /app/dist ./dist COPY --from=builder /app/node_modules ./node_modules EXPOSE 3000 CMD ["node", "dist/index.js"]
docker-compose.yml
version: '3.8' services: web: build: . ports: - "3000:3000" environment: - DATABASE_URL=postgres://db:5432/app depends_on: - db db: image: postgres:15-alpine environment: POSTGRES_PASSWORD: secret volumes: - postgres_data:/var/lib/postgresql/data volumes: postgres_data:
Docker Commands
# Build docker build -t myapp:latest . # Run docker run -d -p 3000:3000 --name myapp myapp:latest # Compose docker-compose up -d docker-compose down # Clean up docker system prune -a
Kubernetes Basics
Deployment
apiVersion: apps/v1 kind: Deployment metadata: name: myapp spec: replicas: 3 selector: matchLabels: app: myapp template: metadata: labels: app: myapp spec: containers: - name: myapp image: myapp:latest ports: - containerPort: 3000 resources: limits: memory: "256Mi" cpu: "500m"
Service
apiVersion: v1 kind: Service metadata: name: myapp-service spec: selector: app: myapp ports: - port: 80 targetPort: 3000 type: LoadBalancer
K8s Commands
# Apply configs kubectl apply -f deployment.yaml # Get resources kubectl get pods kubectl get services # Logs & Debug kubectl logs pod-name kubectl exec -it pod-name -- /bin/sh # Scale kubectl scale deployment myapp --replicas=5
Best Practices
| Practice | Description |
|---|---|
| .dockerignore | Exclude node_modules, .git |
| Multi-stage | Smaller production images |
| Non-root | Run as non-root user |
| Health checks | Add HEALTHCHECK directive |
| Resource limits | Set CPU/memory limits |
Checklist
- Create Dockerfile (multi-stage)
- Add .dockerignore
- Set up docker-compose for dev
- Configure health checks
- Create K8s manifests
- Set resource limits