Aufbau einer Deep-Learning-Entwicklungsumgebung mit NVIDIA Container Toolkit und Docker/Podman (1) - Installation von NVIDIA Container Toolkit & Container-Engine
Diese Serie behandelt den Aufbau einer containerbasierten Deep-Learning-Entwicklungsumgebung mit NVIDIA Container Toolkit auf dem lokalen System sowie die Konfiguration von SSH und Jupyter Lab zur Nutzung als Remote-Server. Dieser Beitrag ist der erste Teil der Serie und stellt die Installationsmethoden für NVIDIA Container Toolkit und die Container-Engine vor.
Überblick
In dieser Serie behandeln wir die Installation von NVIDIA Container Toolkit und Docker oder Podman, das Schreiben eines Dockerfiles basierend auf CUDA- und cuDNN-Images aus dem nvidia/cuda Repository auf Docker Hub, und den Aufbau einer Deep-Learning-Entwicklungsumgebung. Das Dockerfile und Image, die durch diesen Prozess erstellt wurden, werden über GitHub und Docker Hub geteilt, damit sie von Interessierten frei genutzt werden können. Zusätzlich wird eine Anleitung zur Konfiguration von SSH und Jupyter Lab für die Nutzung als Remote-Server bereitgestellt.
Die Serie wird aus drei Beiträgen bestehen, und dieser Beitrag ist der erste Teil der Serie.
- Teil 1: Installation von NVIDIA Container Toolkit & Container-Engine (dieser Beitrag)
- Teil 2: Konfiguration der Container-Laufzeit für GPU-Nutzung, Erstellung des Dockerfiles und Erstellung des Container-Images
- Teil 3 (geplant)
Wir gehen davon aus, dass ein x86_64 Linux-System mit einer CUDA-fähigen NVIDIA-Grafikkarte verwendet wird. Obwohl nicht direkt getestet, können einige Details in anderen Distributionen als Ubuntu oder Fedora leicht abweichen.
(Inhalt aktualisiert am 18.02.2025)
Konfiguration der Entwicklungsumgebung
- Host-Betriebssystem und Architektur: x86_64, Linux-Umgebung (Ubuntu 18.04/20.04/22.04 LTS, RHEL/Centos, Fedora, openSUSE/SLES 15.x etc.)
- Aufzubauender Technologie-Stack (Sprachen und Bibliotheken)
- Python 3
- NVIDIA Container Toolkit
- Docker CE / Podman
- CUDA 12.4
- cuDNN
- OpenSSH
- tmux
- JupyterLab
- NumPy & SciPy
- CuPy (optional, NumPy/SciPy-kompatible Array-Bibliothek für GPU-beschleunigtes Computing mit Python)
- pandas
- cuDF (optional, zur Beschleunigung von pandas ohne Codeänderungen mit dem GPU-Beschleuniger)
- Matplotlib & Seaborn
- DALI (optional, hochperformante Alternative zu eingebauten Datenladern und Dateniteratoren mit GPU)
- scikit-learn
- cuML (optional, zur Ausführung von Machine-Learning-Algorithmen auf GPUs mit einer API, die der scikit-learn API sehr ähnlich ist)
- PyTorch
- tqdm
Je nach Situation und persönlicher Präferenz könnte man auch in Betracht ziehen, die Polars DataFrame-Bibliothek anstelle von pandas zu verwenden. Sie ist in Rust geschrieben und zeigt bei der Verarbeitung großer Datenmengen zwar eine geringere Leistung als die Kombination aus cuDF + pandas, übertrifft aber das reine pandas-Paket deutlich. Zudem bietet sie eine auf Abfragen spezialisierte Syntax. Laut dem offiziellen Polars-Blog plant das Team in Zusammenarbeit mit dem NVIDIA RAPIDS-Team, in naher Zukunft auch die Integration mit cuDF zu unterstützen.
Wenn Sie sich nicht sicher sind, ob Sie Docker CE oder Podman verwenden sollen, könnte die später erwähnte Vergleichstabelle hilfreich sein.
Vergleichstabelle mit dem zuvor erstellten Leitfaden zur Einrichtung einer Machine-Learning-Entwicklungsumgebung
Es existiert bereits ein zuvor auf diesem Blog veröffentlichter Leitfaden zur Einrichtung einer Machine-Learning-Entwicklungsumgebung, der größtenteils noch gültig ist. Aufgrund einiger Änderungen wurde jedoch dieser neue Beitrag verfasst. Die Unterschiede sind in der folgenden Tabelle zusammengefasst.
Unterschied | Vorheriger Beitrag (Version 2021) | Dieser Beitrag (Version 2024) |
---|---|---|
Linux-Distribution | Basierend auf Ubuntu | Anwendbar auf Ubuntu sowie Fedora/RHEL/Centos, Debian, openSUSE/SLES etc. |
Methode zum Aufbau der Entwicklungsumgebung | Python-Virtuelle Umgebung mit venv | Container-basierte Umgebung mit NVIDIA Container Toolkit |
Installation des NVIDIA-Grafiktreibers | Ja | Ja |
Direkte Installation von CUDA und cuDNN auf dem Host-System | Ja (mit Apt-Paketmanager) | Nein (Verwendung von vorinstallierten Images von NVIDIA auf Docker Hub, keine direkte Arbeit erforderlich) |
Portabilität | Bei jedem Systemwechsel muss die Entwicklungsumgebung neu aufgebaut werden | Docker-basiert, einfache Portierung durch Erstellung neuer Images mit dem erstellten Dockerfile oder einfache Übertragung bestehender Images (außer zusätzlicher Volumes oder Netzwerkeinstellungen) |
Nutzung zusätzlicher GPU- Beschleunigungsbibliotheken neben cuDNN | Nein | Einführung von CuPy, cuDF, cuML, DALI |
Jupyter Notebook-Oberfläche | Jupyter Notebook (klassisch) | JupyterLab (Next-Generation) |
SSH-Server-Konfiguration | Nicht behandelt | Teil 3 enthält grundlegende SSH-Server- Konfigurationseinstellungen |
Wenn Sie lieber eine Python-virtuelle Umgebung wie venv anstelle von Docker verwenden möchten, ist der vorherige Beitrag weiterhin gültig und kann als Referenz dienen.
0. Voraussetzungen
- NVIDIA Container Toolkit ist in Linux-Distributionen verfügbar, die die Paketmanager Apt, Yum oder Dnf, Zypper unterstützen. Auf der verlinkten Seite finden Sie eine Liste der unterstützten Linux-Distributionen. Obwohl nicht explizit in der offiziellen Unterstützungstabelle aufgeführt, funktioniert Fedora ebenfalls problemlos, da es auf Red Hat Linux basiert. Wenn Sie mit Linux nicht vertraut sind und nicht wissen, welche Distribution Sie verwenden sollten, ist die LTS-Version von Ubuntu die sicherste Wahl. Sie installiert automatisch proprietäre Treiber, was sie relativ benutzerfreundlich für Anfänger macht, und aufgrund der großen Benutzerbasis sind die meisten technischen Dokumente für Ubuntu verfasst.
- Sie können die Architektur und Linux-Distribution Ihres Systems im Terminal mit dem Befehl
uname -m && cat /etc/*release
überprüfen.
- Sie können die Architektur und Linux-Distribution Ihres Systems im Terminal mit dem Befehl
- Zunächst sollten Sie überprüfen, ob die in Ihrem System installierte Grafikkarte die CUDA- und cuDNN-Version unterstützt, die Sie verwenden möchten.
- Den Namen des in Ihrem Computer installierten GPU-Modells können Sie im Terminal mit dem Befehl
lspci | grep -i nvidia
überprüfen. - Auf der Seite https://docs.nvidia.com/deeplearning/cudnn/latest/reference/support-matrix.html finden Sie eine Liste der unterstützten NVIDIA-Grafiktreiber-Versionen, die erforderliche CUDA Compute Capability und eine Liste der unterstützten NVIDIA-Hardware für jede cuDNN-Version.
- Suchen Sie auf https://developer.nvidia.com/cuda-gpus nach dem entsprechenden Modellnamen und überprüfen Sie den Wert der Compute Capability. Dieser Wert muss die zuvor überprüfte CUDA Compute Capability-Bedingung erfüllen, damit CUDA und cuDNN problemlos verwendet werden können.
- Den Namen des in Ihrem Computer installierten GPU-Modells können Sie im Terminal mit dem Befehl
Wenn Sie planen, eine neue Grafikkarte für Deep-Learning-Aufgaben zu kaufen, sind die Auswahlkriterien für GPUs in folgendem Artikel gut zusammengefasst. Der Autor aktualisiert den Artikel kontinuierlich.
Which GPU(s) to Get for Deep Learning
Ein weiterer sehr informativer Artikel desselben Autors ist A Full Hardware Guide to Deep Learning.
Wenn alle oben genannten Bedingungen erfüllt sind, können wir mit dem Aufbau der Arbeitsumgebung beginnen.
1. Installation des NVIDIA-Grafiktreibers
Zunächst muss der NVIDIA-Grafiktreiber auf dem Host-System installiert werden. Sie können den .run-Installer von der NVIDIA-Treiber-Download-Seite herunterladen und verwenden, aber es ist aus Gründen der Versionsverwaltung und Wartung besser, den Paketmanager Ihres Systems zu nutzen. Beziehen Sie sich auf die offizielle Dokumentation unter https://docs.nvidia.com/cuda/cuda-installation-guide-linux/#driver-installation, um den für Ihre Systemumgebung geeigneten Grafiktreiber zu installieren.
Proprietäres Modul vs Open-Source-Modul
Der NVIDIA Linux-Treiber besteht aus mehreren Kernelmodulen, und ab Treiberversion 515 bietet NVIDIA zwei Arten von Treiber-Kernelmodulen an:
- Proprietär: Der herkömmliche proprietäre Softwaretreiber, den NVIDIA bisher angeboten hat.
- Open-Source: Ein Open-Source-Treiber, der unter der MIT/GPLv2-Doppellizenz bereitgestellt wird. Der Quellcode ist unter https://github.com/NVIDIA/open-gpu-kernel-modules verfügbar.
Der proprietäre Treiber wird für GPUs basierend auf Architekturen von Maxwell bis vor Blackwell angeboten und wird ab der Blackwell-Architektur eingestellt. Der Open-Source-Treiber hingegen wird für Architekturen ab Turing unterstützt.
NVIDIA empfiehlt die Verwendung des Open-Source-Kernelmoduls, wenn möglich. Ob Ihre GPU mit dem Open-Source-Treiber kompatibel ist, können Sie hier überprüfen.
In diesem Artikel gehen wir davon aus, dass der Open-Source-Treiber installiert wird.
Debian & Ubuntu
Für Ubuntu oder Debian geben Sie die folgenden Befehle im Terminal ein, um den Treiber zu installieren:
1
2
sudo apt update
sudo apt install nvidia-open
Fedora
Basierend auf Fedora 40 stellen wir eine Methode vor, um vorkompilierte Pakete von RPM Fusion herunterzuladen und zu installieren.
1-Fedora-1. Konfiguration des RPM Fusion-Repositorys
Wir folgen der offiziellen Anleitung von RPM Fusion.
Führen Sie die folgenden Befehle im Terminal aus:
1
sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
1-Fedora-2. Installation des akmod-nvidia-open-Pakets
Unter Bezugnahme auf die NVIDIA-Treiberinstallationsanleitung von RPM Fusion, aktivieren Sie das rpmfusion-nonfree-tainted-Repository und installieren Sie dann das akmod-nvidia-open-Paket.
1
2
3
4
sudo dnf update --refresh
sudo dnf install rpmfusion-nonfree-release-tainted
sudo dnf install akmod-nvidia-open
sudo dnf mark install akmod-nvidia-open
1-Fedora-3. Schlüsselregistrierung für korrektes Laden des Treibers bei aktiviertem Secure Boot
Mit dem unten beschriebenen zusätzlichen Verfahren können Sie den NVIDIA-Grafiktreiber normal verwenden, während Secure Boot aktiviert bleibt. Da die Deaktivierung von Secure Boot die Systemsicherheit erheblich beeinträchtigt, wird empfohlen, es nicht zu deaktivieren. Zumindest seit Beginn der 2020er Jahre gibt es kaum noch Gründe, Secure Boot zu deaktivieren.
Installieren Sie zunächst die folgenden Tools:
1
sudo dnf install kmodtool akmods mokutil openssl
Führen Sie dann den folgenden Befehl aus, um einen Schlüssel zu generieren:
1
sudo kmodgenca -a
Jetzt müssen Sie den generierten Schlüssel im MOK der UEFI-Firmware registrieren:
1
sudo mokutil --import /etc/pki/akmods/certs/public_key.der
Bei der Ausführung dieses Befehls werden Sie aufgefordert, ein Passwort für die Schlüsselregistrierung einzugeben. In Kürze werden Sie das System neu starten, um den Schlüsselregistrierungsprozess abzuschließen. Geben Sie ein Einmalpasswort ein, das Sie sich leicht merken können.
Führen Sie nun den folgenden Befehl aus, um das System neu zu starten:
1
systemctl reboot
Während des Systemstarts wird automatisch das MOK-Verwaltungsfenster erscheinen. Wählen Sie “Enroll MOK” und dann nacheinander “Continue” und “Yes”. Es erscheint ein Fenster, das nach dem zuvor eingerichteten Passwort fragt. Geben Sie das Passwort ein, das Sie vorhin festgelegt haben, und der Schlüsselregistrierungsprozess wird abgeschlossen. Geben Sie nun reboot ein, um neu zu starten, und der NVIDIA-Treiber sollte normal geladen werden.
Überprüfung der NVIDIA-Treiberinstallation
Sie können das aktuell geladene NVIDIA-Kernelmodul überprüfen, indem Sie den folgenden Befehl im Terminal ausführen:
1
cat /proc/driver/nvidia/version
Wenn eine Meldung ähnlich der folgenden ausgegeben wird, wurde die Installation erfolgreich durchgeführt:
1
2
NVRM version: NVIDIA UNIX Open Kernel Module for x86_64 555.58.02 Release Build (dvs-builder@U16-I3-B03-4-3) Tue Jun 25 01:26:03 UTC 2024
GCC version: gcc version 14.2.1 20240801 (Red Hat 14.2.1-1) (GCC)
2. Installation des NVIDIA Container Toolkit
Nun müssen wir das NVIDIA Container Toolkit installieren. Folgen Sie dem offiziellen Installationsleitfaden des NVIDIA Container Toolkit für die Installation, aber beachten Sie für Fedora die Hinweise in diesem Abschnitt, bevor Sie fortfahren.
Für Apt-Benutzer (Ubuntu, Debian etc.)
2-Apt-1. Konfiguration des Repositorys für den Paketdownload
1
2
3
4
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
2-Apt-2. Aktualisierung der Paketliste
1
sudo apt update
2-Apt-3. Paketinstallation
1
sudo apt install nvidia-container-toolkit
Für Yum- oder Dnf-Benutzer (Fedora, RHEL, Centos etc.)
Bei Tests auf Fedora 40 stellte sich heraus, dass im Gegensatz zu Ubuntu der Befehl
nvidia-smi
und das Paketnvidia-persistenced
nicht standardmäßig im NVIDIA-Grafiktreiber enthalten waren, sodass das Paketxorg-x11-drv-nvidia-cuda
zusätzlich installiert werden musste. Obwohl nicht direkt auf RHEL und Centos getestet, könnte aufgrund der sehr ähnlichen Systemkonfiguration zu Fedora die gleiche Methode hilfreich sein, falls Probleme auftreten sollten.
Nach der Installation von
xorg-x11-drv-nvidia-cuda
wie oben beschrieben und der Durchführung von Testarbeitslasten funktionierte alles normal auf dem System des Autors unter Fedora 40. Falls aufgrund von SELinux oder anderen Gründen weiterhin Probleme auftreten, könnte das Fedora-spezifische nvidia-container-toolkit-Paket und die Anleitung der Fedora AI-ML-Gruppe hilfreich sein.
2-Dnf-1. Konfiguration des Repositorys für den Paketdownload
1
2
curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | \
sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
2-Dnf-2. Paketinstallation
1
sudo dnf install nvidia-container-toolkit
oder
1
sudo yum install nvidia-container-toolkit
Für Zypper-Benutzer (openSUSE, SLES)
2-Zypper-1. Konfiguration des Repositorys für den Paketdownload
1
sudo zypper ar https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo
2-Zypper-2. Paketinstallation
1
sudo zypper --gpg-auto-import-keys install nvidia-container-toolkit
3. Installation der Container-Engine
Als nächstes installieren wir Docker CE oder Podman als Container-Engine. Sie können eine der beiden basierend auf Ihrer Umgebung und Präferenz wählen. Beziehen Sie sich auf die offizielle Docker-Dokumentation und die offizielle Podman-Dokumentation.
Die folgende Tabelle fasst die Hauptunterschiede sowie Vor- und Nachteile von Docker und Podman zusammen:
Vergleichspunkt | Docker | Podman |
---|---|---|
Architektur | Client-Server-Modell, Daemon-basiert | Daemonless-Struktur |
Sicherheit | Potenzielles Sicherheitsrisiko aufgrund der Abhängigkeit von einem Daemon, der standardmäßig mit Root-Rechten läuft (Rootless-Modus wird seit Version 20.10 von 2020 unterstützt, erfordert jedoch zusätzliche Konfiguration) | Läuft standardmäßig rootless, wenn nicht anders angegeben, da es nicht von einem Daemon abhängt, und wird durch SELinux geschützt |
Ressourcenverbrauch | Generell höherer Ressourcenverbrauch aufgrund des ständig laufenden Hintergrundprozesses der Daemon-basierten Struktur | Generell geringerer Overhead |
Container-Startzeit | Relativ langsamer | Bis zu 50% schnellere Ausführung dank vereinfachter Architektur |
Ökosystem und Dokumentation | Umfangreiches Ökosystem und Community-Support, reichhaltige Dokumentation | Vergleichsweise kleineres Ökosystem und weniger umfangreiche Dokumentation |
Netzwerke | Verwendet Docker Bridge Network | Verwendet CNI (Container Network Interface) Plugins |
Native Unterstützung für Kubernetes YAML | X (Konvertierung erforderlich) | O |
Referenzen:
- https://www.redhat.com/en/topics/containers/what-is-podman
- https://www.datacamp.com/blog/docker-vs-podman
- https://apidog.com/blog/docker-vs-podman/
- https://www.privacyguides.org/articles/2022/04/22/linux-application-sandboxing/#securing-linux-containers
Docker hat eine längere Geschichte und genießt de facto Standardstatus in der Branche, was sein größter Vorteil in Form eines breiten Ökosystems und umfangreicher Dokumentation ist. Podman wurde relativ kürzlich von Red Hat entwickelt und strebt von Natur aus eine daemonless und rootless Struktur an, was in Bezug auf Sicherheit, Systemressourcennutzung und Container-Startzeit viele Vorteile bietet. Ein weiterer Vorteil von Podman ist, dass jeder Container vollständig unabhängig ist, sodass der Ausfall eines bestimmten Containers keine Auswirkungen auf andere Container hat, im Gegensatz zu Docker, wo alle Container ausfallen, wenn der Daemon Probleme hat und abstürzt.
Es ist am wichtigsten, das Werkzeug zu wählen, das zu den gegebenen Umständen passt. Für Einzelpersonen, die gerade erst anfangen, könnte Podman eine gute Wahl sein. Obwohl das Ökosystem im Vergleich zu Docker relativ klein ist, wächst es aufgrund der oben genannten Vorteile schnell und holt auf. Für Einzelpersonen oder kleine Gruppen sollte es kein großes Problem darstellen, da es in vielen Bereichen wie Dockerfile-Syntax, Docker-Images und CLI (Command Line Interface) mit dem bestehenden Docker kompatibel ist.
Podman
Es kann einfach installiert werden, da es in den Standard-Systemrepositories der meisten großen Linux-Distributionen unterstützt wird.
Für Ubuntu
1
sudo apt install podman
Für Fedora
1
sudo dnf install podman
openSUSE
1
sudo zypper install podman
Docker CE
Für Ubuntu
3-Ubuntu-1. Entfernen älterer Versionen oder inoffizieller Pakete zur Vermeidung von Paketkonflikten
1
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt remove $pkg; done
3-Ubuntu-2. Repository-Konfiguration
1
2
3
4
5
6
7
8
9
10
11
12
# Add Docker's official GPG key:
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
3-Ubuntu-3. Paketinstallation
1
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
3-Ubuntu-4. Erstellen der Docker
-Gruppe und Hinzufügen von Benutzern
Um Nicht-Root-Benutzern die Verwaltung von Docker ohne sudo
zu ermöglichen, erstellen Sie eine Docker
-Gruppe und fügen Sie die Benutzer hinzu, die Docker verwenden möchten. Führen Sie die folgenden Befehle im Terminal aus:
1
2
sudo groupadd docker
sudo usermod -aG docker $USER
Melden Sie sich anschließend ab und wieder an, damit die geänderten Einstellungen wirksam werden. Bei Ubuntu oder Debian wird der Docker-Dienst automatisch bei jedem Systemstart ohne zusätzliche Aktionen gestartet.
Für Fedora
3-Fedora-1. Entfernen älterer Versionen oder inoffizieller Pakete zur Vermeidung von Paketkonflikten
1
2
3
4
5
6
7
8
9
10
sudo dnf remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
3-Fedora-2. Repository-Konfiguration
1
2
sudo dnf install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
3-Fedora-3. Paketinstallation
1
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Während der Paketinstallation werden Sie gefragt, ob Sie den GPG-Schlüssel akzeptieren möchten. Wenn der GPG-Schlüssel mit 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
übereinstimmt, geben Sie y ein, um ihn zu akzeptieren.
Falls der GPG-Schlüssel nicht übereinstimmt, sollten Sie die Installation abbrechen, da Sie möglicherweise ein gefälschtes Paket durch einen Supply-Chain-Angriff heruntergeladen haben.
3-Fedora-4. Starten des Docker-Daemons
Docker ist jetzt installiert, aber noch nicht gestartet. Sie können Docker mit folgendem Befehl starten:
1
sudo systemctl start docker
Um den Docker-Dienst beim Systemstart automatisch zu starten, führen Sie die folgenden Befehle aus:
1
2
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
3-Fedora-5. Hinzufügen von Benutzern zur Docker
-Gruppe
Um Nicht-Root-Benutzern die Verwaltung von Docker zu ermöglichen, fügen Sie die Benutzer, die Docker verwenden möchten, zur Docker
-Gruppe hinzu. Bei Fedora wird die Docker
-Gruppe während der vorherigen Paketinstallation automatisch erstellt, sodass Sie nur die Benutzer hinzufügen müssen.
1
sudo usermod -aG docker $USER
Melden Sie sich anschließend ab und wieder an, damit die geänderten Einstellungen wirksam werden.
Überprüfen der korrekten Einrichtung
Führen Sie den folgenden Befehl im Terminal aus:
1
docker run hello-world
Wenn die folgende Nachricht angezeigt wird, war die Installation erfolgreich:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
Weiterführende Lektüre
Fortsetzung in Teil 2