containerd ist "nur" die Laufzeit & Daemon für [[Container]]. Man kann Container nicht direkt damit verwalten, sondern über Clients/CLIs oben drauf. Die wichtigsten sind: * nerdctl – Docker-ähnliche CLI (empfohlen für den Alltag) * ctr – Low-Level-Tool, gut für Debugging, weniger bequem * crictl – Für Kubernetes/CRI-Workloads [[Docker]] verwendet "under the hood" ebenfalls containerd. **By default verwendet containerd [[runc]] als container runtime**. Eine noch tiefere Schicht: das eigentliche OCI Runtime Tool, das Container Prozesse direkt mit Linux [[linux#namespaces|Linux Namespaces]] und [[cgroups]] startet. (containerd ruft runc auf, um Containerprozesse zu starten.) =====Installation===== # containerd installieren sudo apt-get install -y containerd # Standardkonfiguration erzeugen sudo mkdir -p /etc/containerd containerd config default | sudo tee /etc/containerd/config.toml >/dev/null # systemd-cgroups aktivieren (wichtig, damit kubelet + containerd zusammenpassen) sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml # Dienst aktivieren sudo systemctl enable --now containerd =====Nerdctl===== # Image holen nerdctl pull nginx:alpine # Container starten (Name, Port, Hintergrund) nerdctl run -d --name web -p 8080:80 nginx:alpine # Auflisten nerdctl ps # laufende nerdctl ps -a # alle # Logs & Shell nerdctl logs -f web nerdctl exec -it web sh # Stoppen/Starten/Entfernen nerdctl stop web nerdctl start web nerdctl rm web # Images/Volumes/Netze nerdctl images nerdctl volume ls nerdctl network ls # nerdctl compose benötigt "nerdctl full" bzw. cni/plugins installiert nerdctl compose up -d nerdctl compose down =====CTR===== # Image holen sudo ctr images pull docker.io/library/nginx:alpine # Container erstellen + starten sudo ctr run -d --net-host docker.io/library/nginx:alpine web # Auflisten sudo ctr containers ls sudo ctr tasks ls # Logs gibt es so nicht direkt -> in den Container oder stdout umleiten sudo ctr tasks exec --exec-id sh -t web sh # Stoppen & entfernen sudo ctr tasks kill -s SIGTERM web sudo ctr tasks rm web sudo ctr containers rm web # Namespace beachten sudo ctr namespaces ls sudo ctr --namespace k8s.io containers ls