Docker es un sistema de contenedores. Funciona mediante una tecnología antigua y consolidada de unix que se llama Union file system.
Con este sistema, es posible hacer creer a un proceso que la máquina en la que se está ejecutando es exclusiva para él.
Docker sirve para tener exactamente los mismos entornos en producción que en desarrollo, por ejemplo, y facilitar mucho los traspasos.