Docker is an open platform for building and running distributed applications using lightweight containers. Containers allow applications to run reliably from one computing environment to another without conflict from other applications and dependencies. Docker provides benefits like very fast application deployment with little overhead, easy scaling, and no dependency issues - making it useful for both development and production of distributed applications.