With the advent of the microservices architecture pattern and enabling technologies such as containers, the way applications are being architected and delivered is changing. Packaging software applications into read-only template images in order to derive immutable application containers, is a key ingredient in this approach, and Docker is at the forefront. In this course, Containerizing a Software Application with Docker, you'll learn how to package a software application into a Docker image. First, you'll explore the nature of Docker images, and their relationship with containers. Next, you'll master how to create Docker images, including authoring a Docker image for a real software application using a Dockerfile. Finally, you'll discover how to name and share Docker images with a wider audience. By the end of this course, you'll have gained the required knowledge of techniques and best practice to get started with containerizing your own software applications.