Part II. The Software Lifecycle with Docker
In Part I, we introduced the philosophy behind containers and got familiar with their basic use. In Part II, we go into more depth, using Docker to build, test, and deploy a web application. We will see how Docker containers can be used in development, testing, and production. The chapters in this part will focus on a single-host system (see Part III for information on deploying and orchestrating containers on multiple hosts).
By the end of Part II, you will understand how to integrate Docker into the software development process and be comfortable with everyday use of Docker. To make the most of Docker, it is important to adopt a DevOps approach. In particular, during development, we will be thinking about how to run software in production, which will ease the pain of deployment to a variety of environments.
While the application we will build over the course of the chapters is necessarily very small, we will also cover technology and practices required for running large-scale applications maintained by large teams of developers.
Containers are not suited to building enterprise software monoliths with a release cycle measured in weeks or months. Instead, we will naturally find ourselves taking a microservices approach and exploring techniques such as continuous deployment where it is possible to safely push to production multiple times a day.
The advantage of containers, DevOps, microservices, and continuous delivery essentially comes ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access