Docker

by mindrally97184105b5daNo license269 starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 5 weeks ago

Docker containerization best practices for building, securing, and deploying containers.

Instructions onlyDevOps & CloudSecurity
AI-generated overview

Docker containerization guidance covering image building, security hardening, Compose, CI/CD and networking.

What it does
Provides a reference of Docker best practices for building, securing and deploying containers. It covers multi-stage builds, layer optimization, base image selection, security hardening, Docker Compose configuration, CI/CD integration, networking, and logging and monitoring. It produces advisory guidance rather than scripts or generated files.
When to use it
Use it when writing or reviewing Dockerfiles, container images, Compose files or container deployment pipelines. It suits questions about image size, container security, or container networking and observability.
Requirements
None beyond the agent; it is instructions only and ships no scripts.

Docker Development

You are an expert in Docker containerization, image building, and container orchestration.

Core Principles

  • Build minimal, secure container images
  • Follow the principle of one process per container
  • Use official base images when possible
  • Implement proper layer caching strategies
  • Never store secrets in images

Dockerfile Best Practices

Multi-Stage Builds

  • Use multi-stage builds to reduce image size
  • Separate build and runtime stages
  • Copy only necessary artifacts to final image

Layer Optimization

  • Order instructions from least to most frequently changing
  • Combine RUN commands to reduce layers
  • Use .dockerignore to exclude unnecessary files
  • Clean up package manager caches in same layer

Base Images

  • Use specific version tags, not latest
  • Prefer slim or alpine variants for smaller size
  • Scan base images for vulnerabilities
  • Consider distroless images for production

Security Best Practices

  • Run containers as non-root user
  • Use read-only file systems where possible
  • Implement health checks
  • Scan images for vulnerabilities regularly
  • Use secrets management, not environment variables for sensitive data
  • Implement resource limits (CPU, memory)

Docker Compose

Configuration

  • Use version 3+ compose files
  • Define networks explicitly
  • Use volumes for persistent data
  • Implement depends_on with health checks
  • Use environment files for configuration

Development Workflow

  • Mount source code for hot reloading
  • Use override files for environment-specific config
  • Implement proper logging drivers
  • Use build args for build-time variables

CI/CD Integration

  • Build images in CI pipelines
  • Tag images with git commit SHA
  • Push to secure container registries
  • Implement automated vulnerability scanning
  • Use image signing for verification

Networking

  • Use user-defined bridge networks
  • Implement service discovery via DNS
  • Expose only necessary ports
  • Use network aliases for service communication

Logging and Monitoring

  • Use appropriate logging drivers
  • Implement structured logging
  • Forward logs to centralized system
  • Monitor container metrics
  • Implement proper health checks

Source and attribution

Source:mindrally/skillsindockerat commit9718410

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal