Again...I haven't heard a good description of containers from anyone at MS.
For anyone that's interested... containers are namespaces for files and processes. Docker provides the ability to specify the difference between the "base" os and what you've changed to get your app running. That's why getting a docker image from the hub up and running is so quick. It only fetches the difference from the base... then when it starts the container it creates a private view of all the system processes and files that are in the base plus the differences. Check out cgroups on Linux, jails in BSD, or zones in Solaris... very similar.