Containers end to end: a deep dive into containers and Docker