en Definition of terms (comments)

Docker

Docker is an open source project designed to run software in an isolated environment called a container. This means that software running inside a container shares the basic functionality of the actual operating system, but is otherwise isolated from the rest of the operating system and other containers in terms of the file system and memory. This offers the advantage that software that is executed within a Docker container is always executed in a firmly defined environment with firmly defined and installed dependencies.

The Docker host, which is necessary to run Docker containers, can be installed on any Linux, Windows or Mac OSX server. However, since a Linux "intermediate layer" is always necessary, a Linux server is recommended. More information on installing Docker can be found here: https://docs.docker.com/engine/install/

Docker Container

Docker offers a variety of predefined containers for specific application purposes. These containers are often maintained by the developers of a software themselves. For example, there is an official container image of Postgres, which runs the database of the same name. To configure a Docker container, it exposes a predefined set of settings that can be passed to the container from the outside.

Docker Compose

The description language "Docker Compose" can be used to configure how an application consisting of several Docker containers is structured. Here, for example, it is defined which containers including their configuration must be executed for the entire application, how the containers communicate with each other in a virtual network, which files from the host system should be available in the container and which passwords should be used.