Skip to content

Latest commit

 

History

History
54 lines (40 loc) · 1.63 KB

DOCKER.md

File metadata and controls

54 lines (40 loc) · 1.63 KB

Dockerfile Options for redvector

Available Dockerfiles

1. Dockerfile (Default - Debian Slim)

Best for: Production use with health checks

  • Base: Debian Bookworm Slim
  • Size: ~80-100MB
  • Features: Health checks, shell access, debugging tools
  • Use: docker build -t redvector:latest .

2. Dockerfile.distroless (Ultra-Minimal)

Best for: Maximum security and minimal footprint

  • Base: Google Distroless
  • Size: ~20-30MB
  • Features: No shell, no package manager, minimal attack surface
  • Use: docker build -f Dockerfile.distroless -t redvector:distroless .
  • Note: No health checks (no shell), use external monitoring

3. Dockerfile.debian (Alternative Debian)

Best for: Compatibility testing

  • Base: Debian Bookworm Slim
  • Size: ~80-100MB
  • Features: Same as default Dockerfile
  • Use: docker build -f Dockerfile.debian -t redvector:debian .

Quick Start

# Build default (Debian Slim)
docker build -t redvector:latest .

# Build distroless (ultra-minimal)
docker build -f Dockerfile.distroless -t redvector:distroless .

# Run
docker run -d -p 6379:6379 -v redvector-data:/data redvector:latest

# Or use docker-compose
docker-compose up -d

Image Size Comparison

  • Distroless: ~20-30MB (no shell, minimal)
  • Debian Slim: ~80-100MB (with health checks, debugging)
  • Alpine: ~15-20MB (but musl compatibility issues)

Recommendations

  • Production: Use Dockerfile (Debian Slim) for health checks and debugging
  • Security-critical: Use Dockerfile.distroless for minimal attack surface
  • Development: Use Dockerfile for easier debugging