Como dice axid, docker es un contenedor. En el mundo cloud de hoy, un contenedor es como una caja con orificios que contiene una aplicación o software final. Esta aplicación se despliega (es decir se lanzar a operar al mundo real) en la Nube sin importar en qué sistema operativo es ejecutada. El contenedor actúa como una capa de comunicación al mundo exterior a la aplicación dentro de la nube.
Por otro lado, Ansible es una herramienta que nos permite automatizar todas las tareas y pasos necesarios para desplegar el proyecto de platzigram que se ejecutará en el linux Ubuntu en la máquina virtual que hemos arrancado usando Virtual box y Vagrant.
Saludos!!