This document provides an introduction to microservices and Docker containers. It defines microservices as loosely coupled elements that have bounded contexts, and notes they evolve service-oriented architecture and apply the Unix philosophy to application systems. Docker is described as a library and ecosystem for creating and sharing containers built from Linux features to package applications and dependencies into single binaries. Reasons for using Docker/containers with microservices include self-contained images that allow running thousands of containers across hardware topologies. Challenges with microservices architectures at scale are also discussed.