LXD / LXC -ben futtatott docker hiba javítása

Az LXD / LXC -ben futtatott docker 2025 november elején „eltört” egy containerd.io csomag frissítését követően.

 

Több hibajegy nyílt rá a githubon;
CVE-2025-52881: fd reopening causes issues with AppArmor profiles (open sysctl net.ipv4.ip_unprivileged_port_start file: reopen fd 8: permission denied) #4968

runc 1.3.3 fails in unprivileged Proxmox LXC with „permission denied” on sysctl #4972

 

Az általam kezelt környezetben, egy normál Ubuntu VM -> LXD/LXC -> Docker összetétel nehezítette a kialakítás javítását.

 

Ideiglenes megoldás a docker csomagok befagyasztása és a korábbi működő verzión tartása volt az LXD konténeren belül.

apt-mark hold docker-ce docker-ce-cli containerd.io docker-ce-rootless-extras

 

Az alábbi megoldás úgy tűnik, véglesegen javítja a hibát; a legfrissebb csomagokkal is futnak a szolgáltatások.

Az ideiglenesen befagyasztott csomagokat engedjük frissíteni:

apt-mark unhold docker-ce docker-ce-cli containerd.io docker-ce-rootless-extras

A csomagok frissítését követően, állítsuk le az LXD konténert.

Az LXD hoston hozzunk létre egy másolatot az alapértelmezett profilból, amibe a raw.lxc konfiguráció kerül:

lxc profile copy default default-raw

Szerkesszük bele a módosításokat:

lxc profile edit default-raw

A „config: {}” sort módosítani kell az alábbiakra:

...
description: Default LXD profile
config:
  raw.lxc: |
    lxc.cap.drop =
    lxc.apparmor.profile = unconfined
  security.nesting: "true"
  security.privileged: "true"
devices:
...

Rendeljük hozzá a módosított profilt a dockereket futtató konténerekhez:

lxc profile assign <konténer-név> default-raw

Ezek után indítsuk el az LXD konténert és a frissített docker csomagokkal a megszokott módon indulnai kell a rendszernek.

 

A profilokban található paraméterek összeadódnak, ha több profil van egy konténerhez rendelve, például:

lxc profile assign <konténer-név> default,default-raw,docker-spec