A unit of software that packages an application together with all of it's libraries, binaries, and dependencies to allow the app to run efficiently in any computing environment. Typically containers can be run using a container engine such as Docker that runs on top of a machine's Operating System (OS).