Software containerization

Docker

Docker is an open source containerization engine that automates the packaging and deployment of software applications through lightweight, portable and self-sufficient containers. A container contains everything necessary to run the software independently near anywhere.

Docker containers bring standardization to the development environment. The running Docker image is called a Docker container. A running container is completely isolated process from the host and from all other running processes, which is executed on a computer with Docker. Here, the process has access only to the allocated hardware resource. These containers can be used in different ways. We use them for our local development environment but also for productive systems. In production, we run the containers in a Docker swarm, which is managed with Portainer .

docker-stack
Docker and Portainer Stack

The Docker container image represents the container in which the application and its environment have been packed. It contains the file system available to the application and other data. Since each Docker image is built on top of other images, they are built from different layers. So different images can be built on top of the same images. This means that several different images can use the same parent image as a base. We rely on one base image and have different flavors of the image to reflect the needs of the customer platforms.

A created image can be run on the same computer or uploaded to a registry. The registry allows to download the image to another computer to run it there. cloudtec uses its own registry with which we make the images we use internally centrally accessible.