Chapter 6. Containers
6.0 Introduction
A container, put simply, packages application code, binaries, configuration files, and libraries together into a single package, called a container image. By packaging everything together in this way, you can develop, test, and run applications with control and consistency. You can quickly start packaging up and testing containers that you build locally, while ensuring that the exact same runtime environment is present regardless of where it is running. This generally reduces the time it takes to build something and offer it to a wide audience, and ensures consistency whenever you deploy.
Containers are wholly “contained” environments that leverage the underlying compute and memory capabilities on the host where they are running (your laptop, a server in a closet, or the cloud). Multiple containers can be run on the same host at once without conflicts. You can also have multiple containers running with the intention of them communicating with one another. Imagine that you have a frontend web application running as a container that accesses a container running a backend for your website, and you might want to run multiple instances of them at once to handle more traffic. Running multiple containers at once and ensuring they are always available can present some challenges, which is why you enlist the help of a container orchestrator. Popular orchestrators come in many flavors, but some of the common ones you may have heard of are Kubernetes ...
Get AWS Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.