Container

What is a container?

Taken from the Docker documentation at https://www.docker.com/resources/what-container.

Package Software into Standardized Units for Development, Shipment and Deployment

A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.

Container images become containers at runtime and in the case of Docker containers - images become containers when they run on Docker Engine. Available for both Linux and Windows-based applications, containerized software will always run the same, regardless of the infrastructure. Containers isolate software from its environment and ensure that it works uniformly despite differences for instance between development and staging.

Docker containers that run on Docker Engine:

  • Standard: Docker created the industry standard for containers, so they could be portable anywhere
  • Lightweight: Containers share the machine’s OS system kernel and therefore do not require an OS per application, driving higher server efficiencies and reducing server and licensing costs
  • Secure: Applications are safer in containers and Docker provides the strongest default isolation capabilities in the industry

While there are other container technologies out there, VSETH only uses Docker, that is why you will often read and hear Container and Docker used interchangeably. Although there is a clear difference: Container is the concept and Docker is the technology.

How does VSETH use Docker?


Why does VSETH use Containers?

VSETH


Injecting Configuration

At this point you may be wondering how external information such as a database connection, that typically lives in a config file for a traditional application running on a virtual machine, will be made available to the running container. VSETH uses Environment Variables to inject all configuration into containers. An overview of the environment variables that are provided by the SIP can be found in sip.yml (SIP Application Template).

Docker Registry

A docker registry is an application that stores and lets you distribute Docker images.