Was ist Docker?

Dieses Thema führt in die Docker-Grundlagen ein - was Docker ist, wie es sich mit virtuellen Maschinen vergleichen lässt und warum Container die Portabilität, Effizienz und Skalierbarkeit verbessern. Sie erfahren mehr über Images; Container- und Lizenzverwaltung für WinCC OA-Container; Docker Compose; Healthchecks; sowie ein vereinfachtes Aktualisieren und Patchen. Außerdem werden die zentralen Docker-Komponenten (Client, Daemon, Images/Registry, Container, Volumes, Netzwerke) und grundlegende Befehle wie docker ps vorgestellt.

Video Information

Length
3:22
Language
English

Transcript

We'll start with the basics

Understanding what Docker is and what for it can be used. Next, we'll take a look at the Docker image. Then we'll move on to container and license management, covering how to run, manage, and license your WinCC OA containers effectively.

After that, we'll introduce Docker Compose, a tool that simplifies running multicontainer applications with just one command. We'll also talk about the importance of health checks, making sure your containers are up, running, and ready before other services try to connect and finally, we'll cover updating, how to apply patches, and roll out new versions using Docker with minimal effort.

So, what is Docker? When you run software the traditional way on a server, it often depends on specific versions and patches. This can make failures hard to reproduce in another environment.

Setting it up correctly can also be time consuming just to avoid the typical

It works only on my machine problem. On top of that, using a single server environment doesn't scale easily, which can lead to additional costs.

With virtual machines, you can scale by running multiple VMs on a single host.

This makes installations more portable. However, virtual machines use a lot of system resources and create significant overhead due to the need to run multiple full operating systems.

How can we get a light white portable installation?

The answer could be Docker. Docker is a platform that allows you to develop, transfer, and run applications using containers.

A container includes only the essential software components needed to run your application.

It's lightweight and doesn't require a separate operating system kernel, making it much more efficient compared to virtual machines.

This offers developers the advantage of easily handing over standardized packages between development, testing, and production environments.

For enterprises, better resource utilization leads to lower infrastructure costs. It also enables the shift from monolithic applications to smaller scalable components.

Just think of a large streaming service that needs to adapt in real time to changing customer demand.

In such cases, fast and dynamic scaling becomes essential. Docker contains of the following components.

  • The client interface via command line or graphical.
  • A demon is the central service to manage your life cycle of container and images. It reacts for example on start or stop requests. Images are like DVD prepared reusable software components.
  • Docker registry the place to get prepared images. Containers are the instances of images. Volumes are mounted storage or folders for data persistency.

Networks define the network access between containers. Let's start with the Docker client. Using the command line interface, you can run docker commands to interact with the docker demon.

For example, the command docker ps shows a list of all currently running containers. There are also graphical user interfaces available like the docker desktop or portainer which interacts with a docker demon.