Docker Rootless Installation klappt nicht

Spike S.

Commander
🎅 Nikolaus-Rätsel-Elite
Registriert
Feb. 2012
Beiträge
2.089
Ich versuche Docker in einem Proxmox LXC rootless zu betreiben. Allerdings klappt die rootless Installation nicht, Fehler ist immer:
Bash:
[rootlesskit:parent] error: failed to setup UID/GID map: newuidmap 421 [0 1000 1 1 100000 65536] failed: newuidmap: write to uid_map failed: Operation not permitted

Habe verschiedenes ausprobiert, auch den Container neu aufgesetzt. System ist Debian 12. Mein Vorgehen war:
  • gemäß Docker eigener Anleitung curl fuse-overlayfs dbus-user-session uidmap slirp4netns installiert
  • Docker Repository hinzugefügt
  • Docker regulär installiert
  • Docker Dienste gestoppt und deaktiviert
  • neuen User angelegt und der Gruppe docker hinzugefügt
  • mich mit dem Docker User angemeldet und folgendes ausgeführt
Bash:
dockdock@sl2:~$ dockerd-rootless-setuptool.sh install
[rootlesskit:parent] error: failed to setup UID/GID map: newuidmap 421 [0 1000 1 1 100000 65536] failed: newuidmap: write to uid_map failed: Operation not permitted
: exit status 1
[ERROR] RootlessKit failed, see the error messages and https://rootlesscontaine.rs/getting-started/common/ .

Einträge in /etc/subuid und /etc/subgid sind vorhanden. Rechte für /usr/bin/newuidmap (und gid-Äquivalent) passen.
Bash:
dockdock@sl2:~$ grep dockdock /etc/sub?id
/etc/subgid:dockdock:100000:65536
/etc/subuid:dockdock:100000:65536

Bei fast allem was ich im Netz finde, taucht der Fehler später im Betrieb auf, nicht schon bei der Installation. Komme hier daher nicht weiter...
 
Ich habe ein LXC Container mit Ubuntu 22.04 unter Proxmox 8. Da läuft es ohne Probleme und der Setup ist leicht.

Wieso hast du Debian genommen?
 
  • Gefällt mir
Reaktionen: madmax2010
Weil der Host (Proxmox) Debian ist und die Container dessen Kernel verwenden. Dachte dann ist das auch wurscht, was sonst im Container läuft...
 
Ich selbst habe mich mit LXC in der Tiefe nicht beschäftigt. Würde aber sagen, dass du es missverstanden hast.

Ich würde dir eher ein Ubuntu LXC empfehlen. Bei Debian muss man schon mehr drauf haben. Ich selbst habe nur eine Debian 12 VM um Einstieg zu finden.
Ergänzung ()

ok, deine Aussage war korrekt: https://serverfault.com/questions/3...ferent-linux-distribution-in-an-lxc-container

Aber wie ich schrieb, kannst du locker Ubuntu LXC nehmen.
 
Zuletzt bearbeitet:
Hier bei mir läuft auch unter proxmox 8 ein lxc container (unprivileged) mit ubuntu 22 und darin läuft u.a. auch ein docker container. Funktioniert einwandfrei, ohne irgendwas außergewöhnliches frickeln zu müssen.
Ein debian 12 container läuft hier auch noch, aber da habe ich bisher kein docker gebraucht.
 
Unter Ubuntu besteht exakt das gleiche Problem, bei meinem oben beschriebenen Vorgehen, wie ich vermutet hatte. Habe es nun aber ausprobiert.

Bash:
dockdock@sl3:~$ cat /etc/os-release | grep NAME
PRETTY_NAME="Ubuntu 24.04 LTS"
NAME="Ubuntu"
VERSION_CODENAME=noble
UBUNTU_CODENAME=noble
dockdock@sl3:~$ dockerd-rootless-setuptool.sh install
[rootlesskit:parent] error: failed to setup UID/GID map: newuidmap 2337 [0 1000 1 1 100000 65536] failed: newuidmap: write to uid_map failed: Operation not permitted
: exit status 1
[rootlesskit:child ] error: EOF
[ERROR] RootlessKit failed, see the error messages and https://rootlesscontaine.rs/getting-started/common/ .

@oicfar @Art Vandelay Habt ihr Docker einfach installiert und die Container gestartet oder habt ihr ebenfalls die weiteren Schritte für rootless ausgeführt?
 
  • Gefällt mir
Reaktionen: Spike S.
Ich verstehe diese rootless Geschichte hier auch nicht. Im LXC Container arbeitet man doch standardmäßig mit root Benutzer, außer du hast den Container anders konfiguriert?
Auch meine Docker Installationsroutine bezieht sich auf https://docs.docker.com/engine/install/ubuntu/, wie im Beitrag drüber schon geschrieben.
 
Zuletzt bearbeitet:
Ich glaube ich bin womöglich einem falschen Gedankengang gefolgt. Ich wollte einfach innerhalb des Containers die "Gefahr" weiter reduzieren, wenn da was aus dem Docker Container mit root Rechten ausbricht, dass dieser falsche root dann nicht weit kommt.
Aber nach diesem Kommentar im Proxmox Forum, sowie den nachfolgenden und alles was ich sonst so im Netz gefunden habe, ist das wohl einfach nicht vorgesehen, was ich da versucht habe.

Mein Schluss daraus ist, ich setze einen LXC immer nur mit einem laufenden Dockercontainer auf und fertig. Vielleicht auch mal zwei oder drei nebeneinander, wenn ich die Dienste als nicht so kritisch ansehe.

Die rootless Installation scheint dann wohl dafür vorgesehen zu sein, Docker auf Bare Metal zu installieren. Zum Beispiel direkt auf den Proxmox Host oder auf Desktops.
 
Zurück
Oben