Docker Containers are the core of the docker platform in which programs and applications can be packaged and run in simulated environments.
Docker containers are the core of the docker program in which programs and applications can run in simulated environments.
These containers serve as a way to simulate code that would otherwise cause irreversible changes to a systems hardware. The difference between this and a virtual machine is that the docker container does not run code on the same level as the virtual machine on top of the fact that it is a lot more portable.
Docker containers can be loaded with any type of environment, even your currently used machine, or serve as simple tool boxes for your file sytems.
For more info, see the official documentation of a docker container.