Community Команды Разработка

Команда containerize-application

Установка
npx claude-code-templates@latest --command deployment/containerize-application

Описание

containerize-application — slash-команда упаковки приложения в Docker: оптимизация — компактный и быстрый образ, многоступенчатые сборки — разделение build- и runtime-стадий, безопасность — минимизация поверхности атаки в образе, лучшие практики — проверенные паттерны Dockerfile. Для разработчиков, желающих контейнеры «как у людей», а не образы на гигабайт с лишним.

Что умеет:
— писать оптимизированные Dockerfile;
— собирать многоступенчатые образы;
— ужимать размер контейнера;
— соблюдать безопасность образов.

Application Containerization

Containerize application for deployment: $ARGUMENTS

Current Application Analysis

  • Application type: @package.json or @setup.py or @go.mod or @pom.xml (detect runtime)
  • Existing Docker: @Dockerfile or @docker-compose.yml (if exists)
  • Dependencies: !find . -name "*requirements*.txt" -o -name "package*.json" -o -name "go.mod" | head -3
  • Port configuration: !grep -r "PORT\|listen\|bind" src/ 2>/dev/null | head -3 || echo "Port detection needed"
  • Build tools: @Makefile or build scripts detection

Task

Implement production-ready containerization strategy:

  • Application Analysis and Containerization Strategy
  • Analyze application architecture and runtime requirements
  • Identify application dependencies and external services
  • Determine optimal base image and runtime environment
  • Plan multi-stage build strategy for optimization
  • Assess security requirements and compliance needs
  • Dockerfile Creation and Optimization
  • Create comprehensive Dockerfile with multi-stage builds
  • Select minimal base images (Alpine, distroless, or slim variants)
  • Configure proper layer caching and build optimization
  • Implement security best practices (non-root user, minimal attack surface)
  • Set up proper file permissions and ownership
  • Build Process Configuration
  • Configure .dockerignore file to exclude unnecessary files
  • Set up build arguments and environment variables
  • Implement build-time dependency installation and cleanup
  • Configure application bundling and asset optimization
  • Set up proper build context and file structure
  • Runtime Configuration
  • Configure application startup and health checks
  • Set up proper signal handling and graceful shutdown
  • Configure logging and output redirection
  • Set up environment-specific configuration management
  • Configure resource limits and performance tuning
  • Security Hardening
  • Run application as non-root user with minimal privileges
  • Configure security scanning and vulnerability assessment
  • Implement secrets management and secure credential handling
  • Set up network security and firewall rules
  • Configure security policies and access controls
  • Docker Compose Configuration
  • Create docker-compose.yml for local development
  • Configure service dependencies and networking
  • Set up volume mounting and data persistence
  • Configure environment variables and secrets
  • Set up development vs production configurations
  • Container Orchestration Preparation
  • Prepare configurations for Kubernetes deployment
  • Create deployment manifests and service definitions
  • Configure ingress and load balancing
  • Set up persistent volumes and storage classes
  • Configure auto-scaling and resource management
  • Monitoring and Observability
  • Configure application metrics and health endpoints
  • Set up logging aggregation and centralized logging
  • Configure distributed tracing and monitoring
  • Set up alerting and notification systems
  • Configure performance monitoring and profiling
  • CI/CD Integration
  • Configure automated Docker image building
  • Set up image scanning and security validation
  • Configure image registry and artifact management
  • Set up automated deployment pipelines
  • Configure rollback and blue-green deployment strategies
  • 10. Testing and Validation
  • Test container builds and functionality
  • Validate security configurations and compliance
  • Test deployment in different environments
  • Validate performance and resource utilization
  • Test backup and disaster recovery procedures
  • Create documentation for container deployment and management