appendix E Docker and Kubernetes
Kubernetes is the predominant open source cluster management and orchestration platform, and some examples in this chapter involve running API service and API gateway containers in Kubernetes using minikube. An in-depth explanation of Kubernetes is beyond the scope of this book, but I provide a brief introduction to it in this appendix. If you’re familiar with Kubernetes, you can skip this.
E.1 Introducing Docker
Docker is an open platform that uses OS-level virtualization to deliver software in standardized units called containers that have everything the software needs to run. A container image is a static file that includes code, system tools, system libraries, and settings required to create a container on a computing system. The software that executes a container image and transforms it into a running container is the container runtime. The Docker Engine is a container runtime. Instead of virtualizing the underlying computer hardware like virtual machines do, containers virtualize the OS—CPU, memory, storage, and network resources—thus creating a view of the OS isolated from other applications, as shown in figure E.1. Containers are truly portable (unlike traditional software deployments) and help developers build, test, and deploy applications quickly.
Figure E.1 Container runtimes like the Docker Engine provide OS-level virtualization and run containers that have access to isolated system resources.
