This document discusses Docker, a tool that allows users to "containerize" software to make deployment and distribution easier. It describes Docker as a portable and lightweight runtime and packaging tool, and Docker Hub as a cloud service for sharing applications. The document provides examples of basic Docker commands and how to build Docker containers from Dockerfiles. It also discusses how Docker can be used to link containers together, manage complex configurations with Docker Compose, and deploy containers to cloud instances or clusters. Finally, it provides examples of Docker uses in bioinformatics for software comparisons, analysis pipelines, and reproducible research.