Docker is a program that performs operating-system-level virtualization through containerization. It allows applications to run in isolated containers that share the same operating system kernel. Docker images contain the files, dependencies, and settings needed to run applications and become containers when run. Docker Compose defines multi-container applications and Docker Swarm orchestrates containers across servers.