Making Docker & Python Play Nicely and Securely for Machine Learning & Data Science
summary
Shows concrete recipes and tradeoffs: chooses base images (avoid alpine, use slim buster), demonstrates reducing layers with multi-stage builds, and moving compiled wheels into a smaller runtime image. Recommends Jupyter Docker Stacks or repo2docker instead of handrolling, enforces non-root users, pins dependencies, leverages Docker cache, rebuilds images regularly, and automates builds in CI. Mentions GPU image variants and numpy’s native BLAS/MKL complexities, with practical tips that are reproducible rather than high-level promises.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 0:15Overview
- 3:36Why Python
- 13:56Is Docker the one stop solution
- 15:45Dockers steep learning curve
- 17:51Common pain points
- 20:38Python ecosystem
- 27:58Docker Image
- 34:58Integration with other workflows
- 35:49Top tips
- 39:00Questions
related talks
32m10x smaller docker containers for Data Science
01h 02mDocker for Data Science: Reproducibility and Deployment
01h 11mLearning to use Docker for development
34mModern development environments for Pythonistas
22mDock Your Jupyter Notebook
36mHow to Roll your own Dockerized Jupyter Environment
02h 28mWorkshop: Learn How to Dockerize Your Python Application
23mCleaning Up Your Python Environment Superfund Site
