This document discusses Docker, a tool that allows applications to be isolated and run in lightweight containers. It introduces key Docker concepts like images, containers, repositories and registries. It provides examples of using Docker commands like docker run, docker pull, docker push and docker build. It compares containers to virtual machines and explains how Docker utilizes namespaces and cgroups to provide isolation. Finally, it outlines a Docker workflow and references additional Docker resources.