| 
				   | 
				
| Zeile 35: | 
Zeile 35: | 
 | </noinclude>  |  | </noinclude>  | 
 | 
  |  | 
  | 
 | = TMP =
  |  | 
 | == Beschreibung ==
  |  | 
 | '''Docker Engine''' läuft nativ unter Linux
  |  | 
 | 
  |  | 
 | == Anforderungen ==
  |  | 
 | Docker-Container sind leichtgewichtig
  |  | 
 | * im Unterschied zu VMs
  |  | 
 | * keine hohen Ansprüche an die Hardware
  |  | 
 | 
  |  | 
 | Je komplexer die Anwendung
  |  | 
 | * desto größer wird der '''Speicherbedarf des Containers und der Verbrauch weiterer Ressourcen'''
  |  | 
 | 
  |  | 
 | ; Systemvoraussetzungen
  |  | 
 | {| class="wikitable options big"
  |  | 
 | |-
  |  | 
 | ! Anforderung !! Beschreibung
  |  | 
 | |-
  |  | 
 | | Prozessor (CPU) || x86-64-Architektur, min. 2 GHz (Single-Core)
  |  | 
 | |-
  |  | 
 | | Arbeitsspeicher (RAM) || min. 2 GB (für die Docker-Anwendung mit GUI benötigen Sie mindestens 4 GB RAM)
  |  | 
 | |-
  |  | 
 | | Betriebssystem || Debian 12, Benutzer mit Root-Rechten
  |  | 
 | |-
  |  | 
 | | Kernel || 4.19 oder höher, mit Unterstützung für cgroup, Namespaces, Overlay-Dateisystem und Seccomp-Filter
  |  | 
 | |-
  |  | 
 | | Festplattenspeicher || min. 20 GB
  |  | 
 | |-
  |  | 
 | | Internetverbindung || zum Downloaden von Docker-Images und Paketen
  |  | 
 | |}
  |  | 
 | 
  |  | 
 | == Docker Hosting ==
  |  | 
 | ; Dedicated vs. Cloud vs. VPS
  |  | 
 | Sie können verschiedene Servermodelle für den Einsatz von Docker auf Debian mieten
  |  | 
 | * Die Tarife der Anbieter hängen von der eingesetzten Hardware, der Architektur und der gewünschten Leistung ab
  |  | 
 | * Grundsätzlich können Sie zwischen drei Servertypen wählen
  |  | 
 | * '''Dedicated Server'''
  |  | 
 | * '''Cloud Server'''
  |  | 
 | * '''vServer/VPS'''
  |  | 
 | 
  |  | 
 | Ein Dedicated Server wird exklusiv für Sie reserviert, was einige Vorteile hat. '''Dedizierte Hardware''' kann auf mehr Ressourcen als ein VPS oder Cloud Server zugreifen
  |  | 
 | * Dadurch entstehen zwar höhere Kosten, aber es wird eine bessere Leistung durch '''zusätzlichen Festplattenspeicher, RAM und Prozessorkerne''' erreicht
  |  | 
 | * Da Sie die komplette Kontrolle über den Debian-Server besitzen, können Sie die Container-Umgebung gezielter vor Bedrohungen schützen
  |  | 
 | * Zudem haben Sie die Möglichkeit, benutzerdefinierte Tools und Konfigurationen einzurichten
  |  | 
 | 
  |  | 
 | Cloud Server werden über ein Netzwerk zur Verfügung gestellt
  |  | 
 | * Sie sind '''hochgradig skalierbar und selten von Ausfällen betroffen'''
  |  | 
 | * Zudem bezahlen Sie nur für die Zeit, in der Sie auch wirklich den Cloud Server genutzt haben
  |  | 
 | 
  |  | 
 | Im Vergleich zu dedizierter Hardware teilt sich ein virtueller Server die Leistung auf einem physischen Serversystem
  |  | 
 | * Ein VPS eignet sich daher vor allem für kleinere oder mittelgroße Container
  |  | 
 | 
  |  | 
 | == Einsatzszenarien ==
  |  | 
 | ; Mögliche Einsatzszenarien für Docker auf Debian und die passenden Server
  |  | 
 | Um den perfekten Server zu finden, braucht es oft eine zeitintensive Recherche
  |  | 
 | * Auch wenn Sie bereits mit den verschiedenen Servertypen vertraut sind, ist es meist schwierig, sich für ein passendes Angebot zu entscheiden
  |  | 
 | * Zur Vereinfachung eine Liste der drei typischen Einsatzmöglichkeiten und die dazu passenden Servern
  |  | 
 | 
  |  | 
 | == Installation ==
  |  | 
 | {| class="wikitable options big col1center"
  |  | 
 | |-
  |  | 
 | ! !! Beschreibung
  |  | 
 | |-
  |  | 
 | | 1 || [[#Aktualisieren der Liste der Pakete|Aktualisieren der Liste der Pakete]]
  |  | 
 | |-
  |  | 
 | | 2 || [[#Installieren benötigter Pakete|Installieren benötigter Pakete]]
  |  | 
 | |-
  |  | 
 | | 3 || [[#GPG-Schlüssel hinzufügen|GPG-Schlüssel hinzufügen]]
  |  | 
 | |-
  |  | 
 | | 4 || [[#Docker-Repository|Docker-Repository]]
  |  | 
 | |-
  |  | 
 | | 5 || [[#Repositories aktualisieren|Repositories aktualisieren]]
  |  | 
 | |-
  |  | 
 | | 6 || [[#Cache Policy überprüfen|Cache Policy überprüfen]]
  |  | 
 | |-
  |  | 
 | | 7 || [[#Docker installieren|Docker installieren]]
  |  | 
 | |-
  |  | 
 | | 8 || [[#Status testen|Status testen]]
  |  | 
 | |-
  |  | 
 | | 9 || [[#Kommando|Kommandos]]
  |  | 
 | |-
  |  | 
 | | 10 || [[#Unterkommandos|Unterkommandos]]
  |  | 
 | |-
  |  | 
 | | 11 || [[#Docker ohne root-Rechte|Docker ohne root-Rechte]]
  |  | 
 | |}
  |  | 
 | 
  |  | 
 | ; Installieren und nutzen Sie Docker auf Debian
  |  | 
 | Sobald Sie sich für eine Server-Lösung entschieden haben, können Sie mit der Installation beginnen
  |  | 
 | * Im Folgenden zeigen wir Ihnen, wie Sie Docker auf Debian in Betrieb nehmen
  |  | 
 | 
  |  | 
 | Um sicherzustellen, dass die neueste Version von Docker verwendet wird, sollten Sie das Installationspaket vom Docker-Repository beziehen. Öffnen Sie das Terminal in Ihrem Debian-System und führen Sie die unten gezeigten Befehle aus
  |  | 
 | 
  |  | 
 | === Aktualisieren der Liste der Pakete ===
  |  | 
 | Aktualisierung der Repositorys
  |  | 
 | <syntaxhighlight lang="bash" highlight="1" line copy>
  |  | 
 | sudo sudo apt update
  |  | 
 | </syntaxhighlight>
  |  | 
 | 
  |  | 
 | === Installieren benötigter Pakete ===
  |  | 
 | Im nächsten Schritt installieren Sie weitere Paketabhängigkeiten für die Docker-Installation
  |  | 
 | <syntaxhighlight lang="bash" highlight="1" line copy>
  |  | 
 | sudo sudo apt install apt-transport-https ca-certificates gnupg2 software-properties-common
  |  | 
 | </syntaxhighlight>
  |  | 
 | 
  |  | 
 | === GPG-Schlüssel hinzufügen ===
  |  | 
 | Mit dem Befehl „curl“ laden Sie den GPG-Schlüssel vom offiziellen Docker-Repository herunter
  |  | 
 | * Damit wird sichergestellt, dass die Pakete für Docker aus einer vertrauenswürdigen Quelle stammen
  |  | 
 | <syntaxhighlight lang="bash" highlight="1" line copy>
  |  | 
 | curl -fsSL <nowiki>https://download.docker.com/linux/debian/gpg</nowiki> | sudo apt-key add -
  |  | 
 | </syntaxhighlight>
  |  | 
 | 
  |  | 
 | === Docker-Repository hinzufügen ===
  |  | 
 | Nun können Sie das Docker-Repository in APT Sources aufnehmen, das eine Liste aller Repositorys enthält
  |  | 
 | <syntaxhighlight lang="bash" highlight="1" line copy>
  |  | 
 | sudo add-apt-repository "deb [arch=amd64] <nowiki>https://download.docker.com/linux/debian</nowiki> $(lsb_release -cs) stable"
  |  | 
 | </syntaxhighlight>
  |  | 
 | 
  |  | 
 | === Liste der Pakete aktualisieren ===
  |  | 
 | Da nun ein neues Repository hinzugekommen ist, sollten Sie den Paket-Index erneut aktualisieren, damit die Paketinformationen in allen Repositorys auf dem neuesten Stand sind
  |  | 
 | <syntaxhighlight lang="bash" highlight="1" line copy>
  |  | 
 | sudo apt update
  |  | 
 | </syntaxhighlight>
  |  | 
 | 
  |  | 
 | === Cache Policy überprüfen ===
  |  | 
 | Rufen Sie die Cache Policy auf, um zu kontrollieren, dass die verfügbaren Installationspakete vom offiziellen Docker-Repository und nicht von Debian heruntergeladen werden
  |  | 
 | <syntaxhighlight lang="bash" highlight="1" line copy>
  |  | 
 | apt-cache policy docker-ce
  |  | 
 | </syntaxhighlight>
  |  | 
 | 
  |  | 
 | === Docker installieren ===
  |  | 
 | Schließlich können Sie Docker nun mit folgendem Befehl installieren
  |  | 
 | <syntaxhighlight lang="bash" highlight="1" line copy>
  |  | 
 | sudo apt install docker-ce
  |  | 
 | </syntaxhighlight>
  |  | 
 | 
  |  | 
 | === Status testen ===
  |  | 
 | Um zu kontrollieren, dass Docker tatsächlich läuft, können Sie den Status mit folgender Eingabe einsehen
  |  | 
 | <syntaxhighlight lang="bash" highlight="1" line copy>
  |  | 
 | sudo systemctl status docker
  |  | 
 | </syntaxhighlight>
  |  | 
 | 
  |  | 
 | === Kommando ===
  |  | 
 | Mit dem „docker“-Kommando führen Sie Befehle in Docker aus
  |  | 
 | * Zusätzlich zum Hauptkommando können Sie Optionen, Unterkommandos und Argumente eingeben
  |  | 
 | <syntaxhighlight lang="bash" highlight="1" line copy>
  |  | 
 | docker [option] [command] [arguments]
  |  | 
 | </syntaxhighlight>
  |  | 
 | 
  |  | 
 | === Unterkommandos ===
  |  | 
 | Sie können die Liste der Unterkommandos betrachten, indem Sie nur das Kommando „docker“ im Terminal ausführen
  |  | 
 | <syntaxhighlight lang="bash" highlight="1" line copy>
  |  | 
 | docker
  |  | 
 | </syntaxhighlight>
  |  | 
 | 
  |  | 
 | Hier sehen Sie einen Ausschnitt der Liste der Unterkommandos, die der Befehl „docker“ unterstützt
  |  | 
 | 
  |  | 
 | Die Container werden durch ein Docker-Image erzeugt, das auf dem Docker Hub zur Verfügung steht
  |  | 
 | * Mit dem Unterkommando „pull“ können Sie das Image herunterladen
  |  | 
 | * Auf der Grundlage des Images wird ein Container gebildet
  |  | 
 | * Um Kommandos in einem Container auszuführen, müssen Sie den Befehl „docker run“ und das entsprechende Image in die Kommandozeile eingeben
  |  | 
 | 
  |  | 
 | ; Tipp
  |  | 
 | : Erfahren Sie außerdem in unserem Ratgeber, wie Sie Docker auf Ubuntu 22.04 und Docker auf Ubuntu 20.04 installieren können
  |  | 
 | 
  |  | 
 | === Docker ohne root-Rechte ===
  |  | 
 | Es kann aus Sicherheitsgründen sinnvoll sein, Docker nach der erfolgreichen Installation ohne root-Rechte auszuführen
  |  | 
 | * Hierfür können Sie in Ihrem System eine Gruppe namens Docker anlegen, der Sie die gewünschten User hinzufügen
  |  | 
 | * Dies geht mit folgenden Terminalbefehlen
  |  | 
 | <syntaxhighlight lang="bash" highlight="1" line copy>
  |  | 
 | sudo groupadd docker
  |  | 
 | </syntaxhighlight>
  |  | 
 | 
  |  | 
 | <syntaxhighlight lang="bash" highlight="1" line copy>
  |  | 
 | sudo usermod -aG docker $USER
  |  | 
 | </syntaxhighlight>
  |  | 
 | 
  |  | 
 | Beachten Sie dabei, dass es sich bei „$USER“ nur um einen Platzhalter handelt, den Sie mit dem entsprechenden Usernamen ersetzen müssen
  |  | 
 | 
  |  | 
  | 
 | [[Kategorie:Docker]]  |  | [[Kategorie:Docker]]  |