|
|
| (15 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) |
| Zeile 2: |
Zeile 2: |
|
| |
|
| == Beschreibung == | | == Beschreibung == |
| '''Docker Engine''' läuft nativ unter Linux
| | === Anforderungen === |
| | [[Docker/Engine]] läuft nativ unter Linux |
|
| |
|
| === Anforderungen ===
| |
| ; Docker-Container sind leichtgewichtig | | ; Docker-Container sind leichtgewichtig |
| Im Vergleich zu virtuellen Maschinen | | Im Vergleich zu virtuellen Maschinen |
| * keine hohen Ansprüche an die Hardware | | * keine hohen Ansprüche an Hardware |
|
| |
|
| Je komplexer die Anwendung | | ; Je komplexer die Anwendung ... |
| * desto größer wird der Speicherbedarf des Containers und der Verbrauch weiterer Ressourcen | | * desto größer wird der Speicherbedarf des Containers und der Verbrauch weiterer Ressourcen |
|
| |
|
| Zeile 21: |
Zeile 21: |
| | Arbeitsspeicher (RAM) || min. 2 GB (für die Docker-Anwendung mit GUI benötigen Sie mindestens 4 GB RAM) | | | 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 | | | Betriebssystem || Linux, Benutzer mit Root-Rechten |
| |- | | |- |
| | Kernel || 4.19 oder höher, mit Unterstützung für cgroup, Namespaces, Overlay-Dateisystem und Seccomp-Filter | | | Kernel || 4.19 oder höher, mit Unterstützung für [[cgroup]], [[Namespaces]], [[Overlay-Dateisystem]] und [[Seccomp]]-Filter |
| |- | | |- |
| | Festplattenspeicher || min. 20 GB | | | Festplattenspeicher || min. 20 GB |
| Zeile 30: |
Zeile 30: |
| |} | | |} |
|
| |
|
| === Docker Hosting === | | == Installation== |
| Sie können verschiedene Servermodelle für den Einsatz von Docker auf Debian mieten
| | ; Installation aus dem Debian-Repository |
| * Die Tarife der Anbieter hängen von der eingesetzten Hardware, der Architektur und der gewünschten Leistung ab
| |
| | |
| ; Servertypen
| |
| * Dedicated Server
| |
| * Cloud Server
| |
| * vServer/VPS
| |
| | |
| ; Dedicated Server | |
| 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
| |
| 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
| |
| | |
| ; Virtuelle Server
| |
| 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
| |
| | |
| FIXME: Wo ist die Liste?
| |
| -->
| |
| | |
| == Standard Debian Installation ==
| |
| === Installation aus dem Debian-Repository ===
| |
| | |
| <syntaxhighlight lang="bash" highlight="1" line copy>
| |
| sudo apt update
| |
| </syntaxhighlight>
| |
| | |
| <syntaxhighlight lang="bash" highlight="1" line copy> | | <syntaxhighlight lang="bash" highlight="1" line copy> |
| sudo apt install docker.io docker-cli docker-compose docker-buildx | | sudo apt install docker.io docker-cli docker-compose docker-buildx |
| </syntaxhighlight> | | </syntaxhighlight> |
|
| |
|
| == Installation == | | === Docker ohne sudo === |
| {| class="wikitable options big col1center"
| | Um Docker-Befehle ohne sudo verwenden zu können, müssen Sie den Benutzer zur Docker-Gruppe hinzufügen. |
| |-
| |
| ! !! 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
| |
|
| |
| === Docker als Benutzer ===
| |
| ; Dcker ohne root-Rechte auführen
| |
| 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> | | <syntaxhighlight lang="bash" highlight="1" line copy> |
| sudo groupadd docker | | sudo groupadd docker |
| Zeile 190: |
Zeile 44: |
|
| |
|
| <syntaxhighlight lang="bash" highlight="1" line copy> | | <syntaxhighlight lang="bash" highlight="1" line copy> |
| sudo usermod -aG docker $USER | | sudo usermod -aG docker <USER> |
| </syntaxhighlight> | | </syntaxhighlight> |
|
| |
| Beachten Sie dabei, dass es sich bei „$USER“ nur um einen Platzhalter handelt, den Sie mit dem entsprechenden Usernamen ersetzen müssen
| |
|
| |
|
| |
|
| <noinclude> | | <noinclude> |
|
| |
|
| = TMP = | | == Anhang == |
| == Installation aus dem offiziellen Docker-Repository == | |
| Da Debian 13 Trixie apt-key nicht mehr verwendet, wird die Installation etwas anders sein.
| |
| | |
| 1. Installation von Root-Zertifikaten und Curl
| |
| | |
| <syntaxhighlight lang="bash" highlight="1" line copy>
| |
| sudo apt install -y ca-certificates curl
| |
| </syntaxhighlight>
| |
| | |
| 2. Erstellen des Verzeichnisses keyrings. Keyrings ist das moderne, von APT verwendete Schema zur Speicherung von Schlüsseln:
| |
| | |
| <syntaxhighlight lang="bash" highlight="1" line copy>
| |
| sudo install -m 0755 -d /etc/apt/keyrings
| |
| </syntaxhighlight>
| |
| | |
| 3. Abrufen des GPG-Schlüssels aus dem offiziellen Repository mit curl. Die Schlüsseldatei wird in den zuvor erstellten Ordner abgelegt:
| |
| | |
| <syntaxhighlight lang="bash" highlight="1" line copy>
| |
| sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
| |
| </syntaxhighlight>
| |
| | |
| 4. Damit APT den Schlüssel verwenden kann, Leserechte vergeben:
| |
| | |
| <syntaxhighlight lang="bash" highlight="1" line copy>
| |
| sudo chmod a+r /etc/apt/keyrings/docker.asc
| |
| </syntaxhighlight>
| |
| | |
| 5. Bevor das Repository eingetragen wird, Architektur und Version des Systems ermitteln.
| |
| Ausgabe der Architektur mit dpkg:
| |
| | |
| <syntaxhighlight lang="bash" highlight="1" line copy>
| |
| dpkg --print-architecture
| |
| </syntaxhighlight>
| |
| | |
| 6. Die Debian-Version kann aus der Datei /etc/os-release gelesen werden. Verwenden:
| |
| | |
| <syntaxhighlight lang="bash" highlight="1" line copy>
| |
| . /etc/os-release && echo "$VERSION_CODENAME"
| |
| </syntaxhighlight>
| |
| | |
| ::: Alternativ mit cat und grep:
| |
| | |
| <syntaxhighlight lang="bash" highlight="1" line copy>
| |
| cat /etc/os-release | grep "VERSION_CODENAME"
| |
| </syntaxhighlight>
| |
| | |
| 7. In unserem Fall werden die Architektur amd64 und Debian 13 trixie verwendet:
| |
| | |
| <syntaxhighlight lang="sourceslist" copy>
| |
| deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian trixie stable
| |
| </syntaxhighlight>
| |
| | |
| 8. Diese Zeile in die Datei docker.list schreiben – entweder mit nano:
| |
| | |
| <syntaxhighlight lang="bash" highlight="1" line copy>
| |
| sudo nano /etc/apt/sources.list.d/docker.list
| |
| </syntaxhighlight>
| |
| | |
| ::: oder mit echo:
| |
| | |
| <syntaxhighlight lang="bash" highlight="1" line copy>
| |
| sudo echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian trixie stable" > /etc/apt/sources.list.d/docker.list
| |
| </syntaxhighlight>
| |
| | |
| 9. Letzter Schritt – Paketindizes aktualisieren und Docker aus dem offiziellen Docker-Repository installieren:
| |
| | |
| <syntaxhighlight lang="bash" highlight="1" line copy>
| |
| sudo apt update
| |
| </syntaxhighlight>
| |
| | |
| <syntaxhighlight lang="bash" highlight="1" line copy>
| |
| sudo apt install docker-ce containerd.io docker-ce-cli docker-buildx-plugin docker-compose-plugin
| |
| </syntaxhighlight>
| |
| | |
| ;Hinweis
| |
| Die Paketnamen im offiziellen Docker-Repository unterscheiden sich von denen im offiziellen Debian-Repository.
| |
| | |
| = Anhang =
| |
| === Siehe auch === | | === Siehe auch === |
| <div style="column-count:2"> | | <div style="column-count:2"> |
| Zeile 296: |
Zeile 69: |
| ==== Weblinks ==== | | ==== Weblinks ==== |
|
| |
|
| [[Kategorie:Docker]] | | [[Kategorie:Docker/Installation]] |
|
| |
|
| </noinclude> | | </noinclude> |