Container images anti-patterns
summary
If images exceed about 100 MB for a microservice or ~1 GB for a monolith investigate: multi-stage builds cut examples from ~1 GB to 70 MB (or 5–7 MB with Alpine), while embedding large ML models in images slows pulls and wastes registry/node disk; use init containers or object stores instead. Enable BuildKit and .dockerignore to avoid uploading huge monorepos, mount code or build in sidecar for fast dev cycles, and use nyxory or small-alpine bases to inject ephemeral debugging tools.
AI-written summary · about
chapters (12)
- 0:00Introduction and background
- 1:39Optimizing image size
- 6:11Handling large data sets
- 12:15Tooling and nixory
- 15:51Troubleshooting small images
- 21:36Avoiding compression myths
- 22:58Optimizing build processes
- 27:52Iterative development cycles
- 31:15Dockerfile best practices
- 33:44Compose and tooling patterns
- 36:58Managing project complexity
- 39:38Wrap-up and Q&A
related talks
29mDockerfile: the best practices
14mSmall Containers? or Small Images?
49mJava Container Mastery: Optimizing Images Across Build Tools
40m"Willy Wonka and the Secure Container Factory"
26mContainerization crossroads: Experiences-Experiments-Expectations
51mProduction level Docker
35mOptimizing Containers for Security and Scaling
36mDocker Inside/Out
