Docker auf Jetson
Zurück zu Modul 3 | Zurück zum Inhaltsverzeichnis
13. Docker installieren und grundlegende Verwendung
Einführung
Docker ist eine leichtgewichtige Container-Plattform, die eine Anwendung und alle ihre Abhängigkeiten in portable Container verpackt. Sie hilft Ihnen, dieselbe Umgebung in Entwicklung, Test und Produktion mit viel weniger Konfigurationsabweichungen auszuführen.
Docker verbessert die Konsistenz durch Prozessisolierung, schnellen Start und effiziente Ressourcennutzung. Es eignet sich gut für lokale Entwicklung, Server-Bereitstellung und Multi-Service-AI-Pipelines.
Docker auf Jetson installieren
1. Docker CE installieren
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-commonDocker GPG-Schlüssel und Repository hinzufügen (Beispiel unten verwendet Aliyun-Mirror):
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg \
| sudo gpg --dearmor -o /usr/share/keyrings/docker-ce.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] \
https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable" \
| sudo tee /etc/apt/sources.list.d/docker.list
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.ioDocker-Installation überprüfen:
docker --version
Benutzer zur Docker-Gruppe hinzufügen (Shell neu starten oder newgrp ausführen):
sudo usermod -aG docker "$USER"
newgrp dockerDanach können Sie Docker-Befehle ohne sudo ausführen.
2. NVIDIA Container Toolkit installieren
distribution=$(. /etc/os-release; echo "$ID$VERSION_ID")
curl -s -L 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
Toolkit installieren:
sudo apt update
sudo apt install -y nvidia-container-toolkitGPU-Laufzeit für Docker aktivieren:
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart dockerGPU-Zugriff in einem Container überprüfen:
sudo docker run --rm --runtime=nvidia --gpus all --network host ubuntu nvidia-smiWenn Netzwerkeinschränkungen in Ihrer Umgebung bestehen, verwenden Sie einen Mirror/Proxy beim Abrufen von Images oder Paketen.
3. Manuelle Installation (APT nicht verfügbar)
Wenn Docker CE nicht aus dem Ubuntu-Repository installiert werden kann, laden Sie die .deb-Pakete manuell von herunter:
https://download.docker.com/linux/ubuntu/dists/
Wählen Sie Ihre Ubuntu-Version:
| Ubuntu-Version | Code | Beispielordner |
|---|---|---|
| Ubuntu 20.04 LTS | focal | dists/focal/pool/stable/ |
| Ubuntu 22.04 LTS | jammy | dists/jammy/pool/stable/ |
| Ubuntu 24.04 LTS | noble | dists/noble/pool/stable/ |
Wählen Sie dann Ihren Architekturordner:
amd64: x86_64 (Server / PC)arm64: ARM 64-Bit, einschließlich Jetsonarmhf: ARM 32-Bits390x: IBM z-Systeme
Laden Sie die fünf passenden Pakete herunter:
containerd.io_<version>_<arch>.debdocker-ce_<version>_<arch>.debdocker-ce-cli_<version>_<arch>.debdocker-buildx-plugin_<version>_<arch>.debdocker-compose-plugin_<version>_<arch>.deb
Installieren Sie sie aus dem Ordner, in dem Sie die Dateien heruntergeladen haben:
sudo dpkg -i ./containerd.io_<version>_<arch>.deb \
./docker-ce_<version>_<arch>.deb \
./docker-ce-cli_<version>_<arch>.deb \
./docker-buildx-plugin_<version>_<arch>.deb \
./docker-compose-plugin_<version>_<arch>.debWenn Abhängigkeiten fehlen, führen Sie aus:
sudo apt -f installDocker-Dienststatus überprüfen:
sudo systemctl status dockerWenn Docker nicht läuft:
sudo systemctl start dockerDocker-Grundlagen
Die Docker Engine stellt die Docker-CLI (docker) bereit, mit der Sie Images, Container, Netzwerke und Speicher über die Befehlszeile verwalten können.
Bevor Sie sich mit häufigen Befehlen vertraut machen, überprüfen Sie diese beiden Kernkonzepte:
- Image: Eine schreibgeschützte Vorlage, die das Basis-BS, die Laufzeit, Bibliotheken und den App-Code enthält, die zum Ausführen eines Containers erforderlich sind.
- Container: Eine aus einem Image erstellte laufende Instanz; sie hat ihren eigenen Prozess und ihre eigene Umgebung und kann unabhängig gestartet/gestoppt werden.
Kurz gesagt:
Ein Docker-Image ist wie ein Installationspaket, während ein Container eine laufende Programminstanz ist.
Häufige Befehle
1) Docker-Info anzeigen
docker info2) Docker-Version anzeigen
docker --version3) Image abrufen
docker pull <image_name>Wenn kein Tag angegeben ist, ruft Docker standardmäßig latest ab.
docker pull <image_name>:<tag>4) Image ausführen
docker run <image_name>Ein bestimmtes Image interaktiv ausführen:
docker run -it ubuntu:18.04 /bin/bashEinen laufenden Container durch Eingabe von exit verlassen.
4.1) Laufende Container auflisten
docker ps4.2) Alle Container auflisten
docker ps -a5) Gestoppte Container entfernen
docker container prune6) Lokale Images auflisten
docker images7) Ein Image entfernen
Erst nach dem Stoppen und Löschen der zugehörigen Container entfernen.
docker rmi <image_name>8) Einen Container als neues Image speichern
docker commit <container_id> <new_image_name>:<tag>Wählen Sie einen Namen und Tag entsprechend der tatsächlichen Container-ID.
9) Einen Container stoppen
docker stop <container_id_or_name>