Docker op Jetson
Terug naar Module 3 | Terug naar Inhoudsopgave
13. Docker installeren en Basisgebruik
Introductie
Docker is een lichtgewicht containerplatform dat een applicatie en al zijn afhankelijkheden inpakt in draagbare containers. Het helpt u om dezelfde omgeving te draaien in ontwikkeling, testen en productie met veel minder configuratiedrift.
Docker verbetert consistentie door procesisolatie, snelle opstart en efficiënt resourcegebruik. Het is zeer geschikt voor lokale ontwikkeling, serverimplementatie en multi-service AI-pipelines.
Docker op Jetson installeren
1. Docker CE installeren
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-commonDocker GPG-sleutel en repository toevoegen (onderstaand voorbeeld gebruikt 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-installatie verifiëren:
docker --version
Uw gebruiker toevoegen aan de docker-groep (shell opnieuw starten of newgrp uitvoeren):
sudo usermod -aG docker "$USER"
newgrp dockerHierna kunt u Docker-opdrachten uitvoeren zonder sudo.
2. NVIDIA Container Toolkit installeren
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 installeren:
sudo apt update
sudo apt install -y nvidia-container-toolkitGPU-runtime voor Docker inschakelen:
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart dockerGPU-toegang binnen een container verifiëren:
sudo docker run --rm --runtime=nvidia --gpus all --network host ubuntu nvidia-smiAls er netwerkbeperkingen zijn in uw omgeving, gebruik dan een mirror/proxy bij het ophalen van images of pakketten.
3. Handmatige installatie (APT niet beschikbaar)
Als Docker CE niet kan worden geïnstalleerd vanuit de Ubuntu-repository, download dan de .deb-pakketten handmatig van:
https://download.docker.com/linux/ubuntu/dists/
Kies uw Ubuntu-versie:
| Ubuntu-versie | Code | Voorbeeldmap |
|---|---|---|
| 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/ |
Selecteer vervolgens uw architectuurmap:
amd64: x86_64 (Server / PC)arm64: ARM 64-bit, inclusief Jetsonarmhf: ARM 32-bits390x: IBM z-systemen
Download de vijf bijpassende pakketten:
containerd.io_<versie>_<arch>.debdocker-ce_<versie>_<arch>.debdocker-ce-cli_<versie>_<arch>.debdocker-buildx-plugin_<versie>_<arch>.debdocker-compose-plugin_<versie>_<arch>.deb
Installeer ze vanuit de map waar u de bestanden hebt gedownload:
sudo dpkg -i ./containerd.io_<versie>_<arch>.deb \
./docker-ce_<versie>_<arch>.deb \
./docker-ce-cli_<versie>_<arch>.deb \
./docker-buildx-plugin_<versie>_<arch>.deb \
./docker-compose-plugin_<versie>_<arch>.debAls afhankelijkheden ontbreken, voer dan uit:
sudo apt -f installDocker-servicestatus controleren:
sudo systemctl status dockerAls Docker niet draait:
sudo systemctl start dockerDocker-basisprincipes
De Docker Engine biedt de Docker CLI (docker), waarmee u images, containers, netwerken en opslag vanaf de opdrachtregel kunt beheren.
Voordat u veelgebruikte opdrachten leert, bekijk dan deze twee kernconcepten:
- Image: Een alleen-lezen sjabloon die het basis-OS, runtime, bibliotheken en app-code bevat die nodig zijn om een container te draaien.
- Container: Een draaiende instantie gemaakt van een image; het heeft zijn eigen proces en omgeving, en kan onafhankelijk worden gestart/gestopt.
Kort samengevat:
Een Docker-image is als een installatiepakket, terwijl een container een draaiende programma-instantie is.
Veelgebruikte opdrachten
1) Docker-info tonen
docker info2) Docker-versie tonen
docker --version3) Image ophalen
docker pull <image_naam>Als er geen tag is opgegeven, haalt Docker standaard latest op.
docker pull <image_naam>:<tag>4) Image draaien
docker run <image_naam>Een specifieke image interactief draaien:
docker run -it ubuntu:18.04 /bin/bashEen draaiende container verlaten door exit te typen.
4.1) Draaiende containers tonen
docker ps4.2) Alle containers tonen
docker ps -a5) Gestopte containers verwijderen
docker container prune6) Lokale images tonen
docker images7) Een image verwijderen
Verwijder pas nadat u de gerelateerde containers hebt gestopt en verwijderd.
docker rmi <image_naam>8) Een container opslaan als nieuwe image
docker commit <container_id> <nieuwe_image_naam>:<tag>Kies een naam en tag op basis van de werkelijke container-ID.
9) Een container stoppen
docker stop <container_id_of_naam>