Docker is a tool that makes it easier to use Linux containers (LXC) to deploy applications. It allows applications to run consistently across servers by including dependencies within containers. Containers are more lightweight than virtual machines and use less resources. Docker containers start faster than VMs and allow for easy sharing of application components. The Docker registry stores container images and metadata for easy sharing between developers and production environments.