Images vs Containers

to use a Java metaphor: if an image is a class, then a container is an instance of that class - a runtime object

  • image includes everything needed to run an application (e.g. the code or binary, runtimes, dependencies, and any other filesystem objects required)
  • container is nothing but a running image, with some added encapsulation features applied to it in order to keep it isolated from the host and from other containers. One of the most important aspects of container isolation is that each container interacts with its own, private filesystem; this filesystem is provided by a Docker image. see Virtual Machines vs Containers vs Emulators. Is an isolated process

Container Runtimes vs Container Engines

Thing

Description

Examples

Container Runtime

are used by Container Engines to do the low-level container and image management stuffs

Container Engine

used by end-users to manage images and containers

Orchestrating Engine (COE)

Container schedulers manage containers across a number of machines, allocating workloads appropriately.