Docker is a software platform for creating, testing, and running applications. It allows you deploy applications entirely separately from your infrastructure, saving a ton of time in the process from coding to getting something into production. Docker allows you to manage infrastructure easily in the same way applications are managed.