6.1.3 DGT Virtualization

In DGT context virtualization refers to the process of packaging software applications, like the DGT Platform, into containers using Docker. Docker containers wrap up software and its dependencies into a standardized unit for software development that includes everything needed to run the software, ensuring it works seamlessly in any environment. Docker Compose is a tool for defining and running multi-container Docker applications, where a «docker-compose.yaml» file is used to configure the application’s services.

Docker simplifies the deployment of applications since containers are isolated from each other and the host system but can communicate as needed. Docker Compose uses a .yaml file to define the services, networks, and volumes for a Docker application. Running Docker images means creating a running instance of a container from an image, which is a lightweight, stand-alone, executable package that includes everything needed to run a piece of software, including the code, runtime, libraries, environment variables, and config files.

The host system is the physical or virtual machine on which Docker is installed and running. Containers are isolated environments running on the host system, utilizing its resources. To execute a command inside a running container, you can use docker exec. For example, docker exec -it shell-dgt-c1-1 bash opens a bash shell inside the container named shell-dgt-c1-1, allowing direct interaction with the container's file system and processes.

Docker allows multiple containers (or nodes) to run simultaneously on a single server because each container is isolated and interacts with its own set of virtualized hardware resources, managed by the Docker engine. This isolation enables you to run multiple instances of applications or services without them interfering with each other. A dockerized file, such as a Dockerfile or docker-compose.yaml, contains configuration instructions for Docker, defining how an application and its environment should be containerized. This contrasts with a physical implementation where software is installed and runs directly on the host machine’s operating system, without the isolation and portability benefits provided by containers.

To check the state of running Docker containers, you can use tools like `docker ps` for a list of containers, `docker stats` for a real-time view of container resources, and Docker's Dashboard for a GUI overview. These tools help technical specialists, even those not specialized in Docker, to monitor and manage containerized applications effectively.

The DGT containers configurations are presented in the "docker" directory and describe all the necessary dependencies.

Last updated