Docker (source code for core Docker project) is an infrastructure management platform for running and deploying software. The Docker platform is evolving so an exact definition is currently a moving target, but the core idea behind Docker is that operating system-level containers are used as an abstraction layer on top of regular servers for deployment and application operations.
Docker can package up applications along with their necessary operating system dependencies for easier deployment across environments. In the long run it has the potential to be the abstraction layer that easily manages containers running on top of any type of server, regardless of whether that server is on Amazon Web Services, Google Compute Engine, Linode, Rackspace or elsewhere.
This Docker image contains a Flask application configured to run with uWSGI and Nginx. You can also see the image on Docker hub.
minimal-docker-python-setup contains an image with Nginx, uWSGI, Redis and Flask.
What is Docker and When to Use It clearly delineates what Docker is and what it isn't. This is a good article for when you're first wrapping your head around Docker conceptually.
How To Install and Use Docker on Ubuntu 16.04 provides a walkthrough for Ubuntu 16.04 for installing and beginning to use Docker for development.
It Really is the Future discusses Docker and containers in the context of whether it's all just a bunch of hype or if this is a real trend for infrastructure automation. This is a great read to set the context for why these tools are important.
Docker Jumpstart is a comprehensive introduction to what Docker is and how to get started with using the tool.
If you want to quickly use Docker on Mac OS X, check out these concise instructions for setting up your Docker workflow on OS X in 60 seconds.
What the Bleep is Docker? is a plain English explanation with examples of what Docker provides and what it can be used for in your environment.
Docker in Practice - A Guide for Engineers is an explanation of the concepts and philosophy by the authors of the new Manning Docker book in early access format.
Eight Docker Development Patterns shares lessons learned and explains how to work with the containers so you get more use out of them during development.
Building Docker containers from scratch is a short tutorial for creating a Docker container with a specific configuration.
10 things to avoid in Docker containers provides a lot of "don'ts" that you'll want to consider before bumping up against the limitations of how containers should be used.
How to deploy Django using Docker
assumes you already have the basic grasp of working with Docker and
jumps right into a Django deployment. The post shows you how to set up
Dockerfile and explains that GitLab CI
can be used to to build this Docker image.
Hosting Python WSGI applications using Docker shows how to use Docker in WSGI application deployments specifically using mod_wsgi.
How to Containerize Python Web Applications is an extensive tutorial that uses a Flask application and deploys it using a Docker container.
Docker in Action - Fitter, Happier, More Productive is a killer tutorial that shows how to combine Docker with CircleCI to continuously deploy a Flask application.
Deploying Django Applications in Docker explains some of the concepts behind using Docker for Python deployments and shows how to specifically use it for deploying Django.
A Docker primer – from zero to a running Django app provides specific commands and expected output for running Django apps with Docker and Vagrant.
Using Docker and Docker Compose to replace virtualenv is a tutorial for using Docker instead of virtualenv for dependency isolation.
Lincoln Loop wrote up a closer look at Docker from the perspective of Python developers handling deployments.
Curious how pip and Docker can be used together? Read this article on Efficient management Python projects dependencies with Docker.
Python virtual environments and Docker goes into detail on whether virtual environments should be used with Docker and how system packages can generally be a safer route to go.
Fix errors in your Python code before your users see them by monitoring with Rollbar.