Containers, specifically Linux containers popularised by Docker, offer a way to package an application and its dependencies in a language agnostic way. The package, a container image, can be versioned and published to a registry. Typically, a descriptor, e.g. Kubernetes’ manifests, are also required to describe how to run the image as a container such as:
Running containers requires orchestration ranging from: