Overview
Learn a systematic approach to packaging Python applications for Docker production environments in this PyCon US talk. Discover how to prioritize and implement over 60 best practices iteratively, focusing on security, automation, correctness, reproducibility, and optimization. Explore practical examples, including running containers as non-root users, handling security updates, setting up automated builds, improving operational correctness, and optimizing build times and image sizes. Gain insights into creating production-ready Docker images that minimize security risks, enhance debugging capabilities, and streamline deployment processes.
Syllabus
Intro
Why Docker packaging is
The problem: too much to cover
Today: learn the big picture
An iterative Dockerizing process
Get something working
Example: don't run as root
2. Process: Security updates
Automated builds/CI
Operational correctness and debuggability
4. Example: Tracebacks on crashes in C code
4. Example: Pre-compile bytecode
Reproducibility
Faster builds and smaller images
Dockerizing is not just about artifacts
Thank you! Free resources on my website
Taught by
PyCon US