Containers are now a ubiquitous and necessary tool for robustly deploying software in production, both locally and in the cloud. They enable developers to create the ideal software environment for the application and ensure that this software environment is exactly replicated on developer workstations, test computers, staging computers, and the final deployment to local servers or instances in the cloud. Containers also help create a sanitized software environment for every single application, enabling multiple software environments, one for each application, when multiple applications are running on the same server.
Among the many available container tools, Docker is the most popular. We will focus on using Docker in this section. Docker is available for all popular Linux distributions, macOS X, and Windows. With Docker, you can create an...