For development we use virtualenv to have an isolated development when it comes to dependencies. From this question it seems deploying Python applications in a virtualenv is recommended.
Now we're starting to use docker for deployment. This provides a more isolated environment so I'm questioning the use of virtualenv inside a docker container. In the case of a single application I do not think virtualenv has a purpose as docker already provides isolation. In the case where multiple applications are deployed on a single docker container, I do think virtualenv has a purpose as the applications can have conflicting dependencies.
Should virtualenv be used when a single application is deployed in a docker container?
Should docker contain multiple applications or only one application per container?
If so, should virtualenv be used when deploying a container with multiple applications?