Docker Schnellstart: Warum? Wofür Container? Hardware?

Was sind Docker Container? 

Docker-Container sind kleine isolierte Programmeinheiten, die unabhängig vom Betriebssystem auf einem nahezu beliebigen PC oder Server gestartet werden können. Die Benutzeroberfläche eines Containers wird meist in Form eines Webservice zur Verfügung gestellt und kann dadurch über eine Adresse im Browser erreicht werden. Der Aufruf von einem PC, Smartphone oder Tablet erfolgt über einen beliebigen Browser und setzt daher keine zusätzlich installierte Software oder App voraus.

Wie kann ein Docker-Container gestartet werden?

Für den Start eines Containers reicht die Angabe eines Images in der Form von Hersteller/Imagename. Ermöglicht wird dies durch die Docker Registry, einer Art Bibliothek für Container. Nach der Installation ist Docker mit der offiziellen online Docker Registry: Docker Hub verbunden, wodurch die Angabe des Imagenamens für den Download und Start des Containers reicht: Egal auf welcher Hardware, egal welches Betriebssystem und egal welche anderen Programme bereits auf dem System installiert wurden: Durch die Kapselung sind die Container isoliert und unabhängig und beinhalten alle für den Betrieb notwendigen Abhängigkeiten.

Befehl für den Start eines Containers

Im Detail schaut der Startvorgang eines Containers im Terminal wie folgt aus:

docker run docker/getting-started

Der Befehl "docker run" lädt den Container "getting-started" vom Hersteller "docker" herunter und startet diesen:

C:\Users\LiBe>docker run -p 8080:80 docker/getting-started
Unable to find image 'docker/getting-started:latest' locally
latest: Pulling from docker/getting-started
...
2023/05/28 18:30:23 [notice] 1#1: start worker processes

Der Parameter -p 8080:80 veröffentlicht den Port 80 und stellt diesen über localhost und Port 8080 zur Verfügung:

Wie kann die Benutzeroberfläche eines Containers aufgerufen werden?

Der Zugriff auf ein Dockerservice erfolgt meist über einen bereitgestellten Webservice. In der Regel kann der von einem Container zur Verfügung gestellte Webserver über den Browser mit localhost und einem beim Containerstart angegebenen Port aufgerufen werden: als Beispiel: http://localhost:8080

Voraussetzung: beinahe beliebiger PC oder Server, Betriebssystem und die Docker Installation

Als Hardware für den Start der Container kann ein beliebiger Computer oder Mini-PC mit x68-64 Architektur eingesetzt werden, siehe: Home-Server. Abhängig davon welches Betriebssystem eingesetzt wird, weicht die eigentliche Docker-Installation ab: 

Docker-Container setzen einen Linux-Kernel voraus, daher können Container mit einer Linux-Distribution - im Gegensatz zu Windows - voraussichtlich mit weniger Overhead betrieben werden.

Mehrere Container für ein bestimmtes Service -> Docker Compose

Docker Container stellen Netzwerkservices bereit, als Beispiel einen Webserver oder eine Datenbank. Bestimmte Webapplikationen benötigen für deren Betrieb mehrere Container. Der Start mehrerer Container und deren Zugriff auf und untereinander kann mittels Docker-Compose und einer einfachen Testdatei vorgegeben werden: docker-compose.yml.

Der zuvor erwähnte Container: "getting-started" kann über eine docker-compose.yml-Datei wie folgt definiert werden:

Textdatei mit Namen "docker-compose.yml"

Inhalt:

services:
  app:
    image: docker/getting-started
    ports:
      - 8080:80

Wird eine Textdatei mit diesem Inhalt befüllt, können alle in der Datei erwähnten Services aus deren Ordner mit einem Befehl gestartet werden: "docker-compose up"

root@server:~/# docker-compose up
Creating network "test_default" with the default driver
Creating test_app_1 ... done
Attaching to test_app_1

Um weitere Services über die Textdatei zu starten, können diese als zusätzliche Services hinzugefügt werden:

services:
  app:
    image: docker/getting-started
    ports:
      - 8080:80
  app2:
    image: docker/getting-started
    ports:
      - 8081:80

Schritt für Schritt- Anleitung als YouTube-Video 

Docker-Webservices, Beispiele

Hier eine Liste von Webservices, die ich bisher getestet habe:

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!

Aktualisiert: 06.09.2023 von Bernhard | Translation English |🔔 | Kommentare:0

Docker | Docker-Container unter Linux starten: verwende Docker Engine

Top-Artikel in diesem Bereich


Docker Daten speichern: Docker Volumes vs. Host-Ordner

Ich betreibe eine handvoll Docker Container auf einem einzelnen Linux-Host. Docker-Container werden bei einem erneuten erstellen oder beim Austausch auf eine neuere Imageversion bekanntlich ausgetauscht und verlieren dabei alle geänderten Daten. Um bestimmte Ordner eines Containers permanent zu speichern, müssen diese über Volumes oder Bind-Mounts ausgelagert werden. Ich habe dazu meist bestimmte Pfade der Container in definierten Ordnern am Host verbunden (Bind-Mounts). Mit ein Grund für die Ve...


Docker Container GUI grafische Weboberfläche mit Portainer

Ursprünglich habe ich Docker rein über die Kommandozeile verwaltet, was mit ein paar simplen Befehlen schon sehr einfach ist. Noch mehr Übersicht und eine komfortable Admin-Oberfläche liefert Portainer. Portainer selbst kann auch als Docker-Container gestartet werden und macht das Verwalten von Containern zum Kinderspiel.


Docker Swarm, Portainer und Traefik kombiniert

Wie bereits mehrfach auf dieser Seite erwähnt, verwende ich für den Zugriff auf meine Docker-Container primär den Reverse-Proxy Traefik. Um die Container in einer grafischen GUI verwalten zu können, habe ich zusätzlich Portainer im Einsatz. Für einen Single-Server passt das Setup so weit, wer aber mehrere Server einsetzen will, kann dazu Docker-Swarm verwenden. Ich habe dazu zunächst Portainer in Kombination mit Swarm getestet und das Setup um Traefik inklusive...

Fragen / Kommentare


Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu Mehr Details