A container packages an application with its execution environment, including the operating system and required dependencies. This encapsulation supports portable execution as applications move from servers to cloud platforms. section 1.2.1
Container management is delegated to Kubernetes, which treats each container as a unit without inspecting its internals. Kubernetes runs containers in pods, usually one container per pod, though sidecars such as logging containers may also be present. section 1.2.1
A container commonly includes:
- The user application. section 1.2.1
- The runtime needed by the application, such as a JVM. section 1.2.1
- Supporting dependencies required by that runtime, such as glibc. section 1.2.1
JVM application in a pod
A standard JVM container packages the application, the JVM, and dependencies such as glibc. Kubernetes schedules that container inside a pod and manages its lifecycle and resources without needing to know its contents. section 1.2.1
Figure 1.2 Visualizing the relationships between the application, container, and Kubernetes
Use the relationship diagram to trace how an application is packaged into a container and operated within Kubernetes. section 1.2.1
Containerization forms the operational step between a completed application and deployment. A practical workflow can begin with local Docker testing, continue in production mode, and extend to Kubernetes or OpenShift cloud deployment. section 11.0


























