@aj-geddes/docker-containerization

>

View in AI SkillSafe app
Scanned · no findings
0 downloads
0 stars
0 demos
SKILL.md
namedocker-containerization
description>

Docker Containerization

Table of Contents

Overview

Build production-ready Docker containers following best practices for security, performance, and maintainability.

When to Use

  • Containerizing applications for deployment
  • Creating Dockerfiles for new services
  • Optimizing existing container images
  • Setting up development environments
  • Building CI/CD container pipelines
  • Implementing microservices

Quick Start

Minimal working example:

# Multi-stage build for Node.js application
# Stage 1: Build
FROM node:18-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build

# Stage 2: Production
FROM node:18-alpine
WORKDIR /app
# Copy only production dependencies and built files
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/dist ./dist
COPY package*.json ./

# Security: Run as non-root user
RUN addgroup -g 1001 -S nodejs && adduser -S nodejs -u 1001
USER nodejs

EXPOSE 3000
CMD ["node", "dist/index.js"]

Reference Guides

Detailed implementations in the references/ directory:

Guide Contents
Multi-Stage Builds Multi-Stage Builds
Optimization Techniques Optimization Techniques
Security Best Practices Security Best Practices, Environment Configuration
Docker Compose for Multi-Container Docker Compose for Multi-Container
.dockerignore File .dockerignore File
Python Python (Django/Flask), Java (Spring Boot), Go

Best Practices

✅ DO

  • Use official base images
  • Implement multi-stage builds
  • Run as non-root user
  • Use .dockerignore
  • Pin specific versions
  • Include health checks
  • Scan for vulnerabilities
  • Minimize layers
  • Use build caching effectively

❌ DON'T

  • Use 'latest' tag in production
  • Run as root user
  • Include secrets in images
  • Create unnecessary layers
  • Install unnecessary packages
  • Ignore security updates
  • Store data in containers

Embed badges

Add these to your README to show the skill's verification status.

SkillSafe verified badge
Verified badge
[![SkillSafe verified badge](https://api.skillsafe.ai/v1/badge/@aj-geddes/docker-containerization/verified)](https://skillsafe.ai/skill/@aj-geddes/docker-containerization/)
Installs badge
Installs badge
[![Installs badge](https://api.skillsafe.ai/v1/badge/@aj-geddes/docker-containerization/installs)](https://skillsafe.ai/skill/@aj-geddes/docker-containerization/)
Scan badge
Scan badge
[![Scan badge](https://api.skillsafe.ai/v1/badge/@aj-geddes/docker-containerization/scan)](https://skillsafe.ai/skill/@aj-geddes/docker-containerization/)
Eval pass rate badge
Eval pass rate
[![Eval pass rate badge](https://api.skillsafe.ai/v1/badge/@aj-geddes/docker-containerization/eval)](https://skillsafe.ai/skill/@aj-geddes/docker-containerization/)