Docker is a lightweight container virtualization tool that allows for economical use of resources and short start up times. It uses a union file system and libcontainer to provide isolation between images. Docker works by building images from Dockerfiles which define application and dependencies. The images can then be run as containers and managed through their lifecycle via build pipelines that test, push, and pull images from a Docker registry.