mcpField
D
docker-containerization

docker-containerization

github.com/aj-geddesCloud & DevOps374677 installsUpdated 34w ago
Repository

About docker-containerization

docker-containerization is a skill for building and improving Docker containers, aimed at developers preparing applications for deployment or development. It covers build structure, image optimization, and security practices.

Key features

  1. 01Multi-stage Dockerfile guidance
  2. 02Image optimization techniques
  3. 03Container security practices
  4. 04Docker Compose guidance
  5. 05Language-specific references

Use cases

  1. 01Containerizing an application for deployment
  2. 02Optimizing an existing container image
  3. 03Setting up a development environment
  4. 04Building a CI/CD container pipeline

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill docker-containerization

After installing, type/docker-containerizationin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
docker-compose-for-multi-container.md
dockerignore-file.md
multi-stage-builds.md
optimization-techniques.md
python.md
security-best-practices.md
scripts/
validate-pipeline.sh
templates/
pipeline.yaml

Details

From the project README

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:

GuideContents
Multi-Stage BuildsMulti-Stage Builds
Optimization TechniquesOptimization Techniques
Security Best PracticesSecurity Best Practices, Environment Configuration
Docker Compose for Multi-ContainerDocker Compose for Multi-Container
.dockerignore File.dockerignore File
PythonPython (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

Comments

Markdown supported