Overview
Syllabus
Intro
Why Docker packaging is complicated
The problem: too much to cover
Today: learn a process
An iterative process
Security Before you can deploy anything publicly, it reeds to be secure . So we do that net
Security: Don't run as root
Security: Other best practices
CI: Tag based on branch . You want to build image for feature branch 123 . You want production not to be impacted.
CI: Other best practices . Once a week, rebuild without caching--pull
Make it debuggable You've started automatically building and probably deploying
Debuggable: Tracebacks on crashes in C code
Debuggable: Other best practices
Improve operational correctness
Operational correctness: Pre- compile bytecode
Reproducible builds: Choose a good base image
Reproducible builds: More best practices
Faster builds: Don't use Alpine Linux
Faster builds: More best practices
Smaller images: Disable pip's caching
Smaller images: Other best practices
Taught by
EuroPython Conference