Запуск тестов с tox и Docker

Многие Python-библиотеки используют tox для тестирования на разных версиях интерпретатора и зависимостей. Зависимости можно сложить в отдельные виртуальные окружения. Но что делать с разными интерпретаторами? Не ставить же их все в систему. Конечно, можно воспользоваться Travis CI. Но что делать, если такая опция недоступна или если хочется прогнать тесты локально? Я расскажу, как решить эту задачу с помощью Docker.