Docker is a platform for deploying, distributing and running applications in containers. A container allows to include an app itself with all dependencies pre-installed. Unlike VMs, Docker uses native OS libraries and kernel. Containers are isolated from each other, have own libraries and manage their own processes. It is a much faster solution than VMs.
Docker saves a lot of time on configuring development environment, thus lets developers stay focused on coding. Moreover, Docker makes it easier to work on several projects with different system requirements on a single computer.
We at Kiwee have managed to migrate all our web projects to run in containers, which increased our efficiency.