Inicio » [SOLUCIONADO] Error: Failed to mount cgroup cgroup2 o systemd en Docker y Linux
Sistemas y Servidores

[SOLUCIONADO] Error: Failed to mount cgroup cgroup2 o systemd en Docker y Linux

✨ Respuesta Rápida

Al iniciar contenedores con Docker, Podman o entornos virtualizados LXC/Proxmox en distribuciones modernas (Ubuntu 24.04, Debian 12, Arch Linux), es habitual encontrarse con el error Failed to mount cgroup: No such file or directory o OCI runtime error: unable to apply cgroup configuration. Esto sucede por el cambio de la jerarquía heredada (cgroup v1) al árbol unificado moderno (cgroup v2).

El Diagnóstico Rápido

Causa
Incompatibilidad entre Docker daemon y la jerarquía unificada cgroup v2 en kernels recientes
Solución
Actualizar Docker a la última versión o habilitar compatibilidad híbrida en GRUB
Causa
Contenedores privilegiados o systemd anidado en LXC/Docker sin permisos de cgroup
Solución
Configurar systemd.unified_cgroup_hierarchy=0 o montar cgroups con volumen rw

Al iniciar contenedores con Docker, Podman o entornos virtualizados LXC/Proxmox en distribuciones modernas (Ubuntu 24.04, Debian 12, Arch Linux), es habitual encontrarse con el error Failed to mount cgroup: No such file or directory o OCI runtime error: unable to apply cgroup configuration. Esto sucede por el cambio de la jerarquía heredada (cgroup v1) al árbol unificado moderno (cgroup v2).

Solución Rápida (1 Minuto):

  1. Revisa la versión de cgroups activa en tu kernel: stat -fc %T /sys/fs/cgroup/
  2. Si devuelve 'cgroup2fs' y tu software antiguo falla, agrega a /etc/default/grub: systemd.unified_cgroup_hierarchy=0

La Solución Paso a Paso

  1. 1

    Paso 1: Identificar la versión de cgroup activa en el sistema

    Ejecuta este comando para comprobar si tu sistema está utilizando la jerarquía v1 tradicional o v2 unificada:

    BASH
    stat -fc %T /sys/fs/cgroup/
    
    • Si la respuesta es cgroup2fs, el kernel opera en cgroup v2.
    • Si la respuesta es tmpfs, opera en el modo tradicional cgroup v1.
  2. 2

    Paso 2: Ajustar la jerarquía de cgroups en el gestor de arranque GRUB

    Si utilizas software o versiones de Docker antiguas incompatibles con cgroup v2, puedes forzar la compatibilidad heredada:

    BASH
    sudo nano /etc/default/grub
    

    Localiza la variable GRUB_CMDLINE_LINUX_DEFAULT y añade el parámetro:

    PLAINTEXT
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=0"
    

    Actualiza la configuración de GRUB y reinicia:

    BASH
    sudo update-grub
    sudo reboot
    
  3. 3

    Paso 3: Configurar Docker daemon para soporte nativo de cgroup v2

    La solución recomendada a largo plazo es actualizar Docker y configurar el controlador nativo systemd en /etc/docker/daemon.json:

    JSON
    {
      "exec-opts": ["native.cgroupdriver=systemd"]
    }
    

    Aplica el cambio reiniciando el servicio:

    BASH
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

Preguntas Frecuentes

¿Cuál es la diferencia entre cgroup v1 y cgroup v2 en Linux?

cgroup v1 permitía jerarquías independientes para CPU, memoria y E/S, lo que provocaba bloqueos. cgroup v2 unifica todos los controladores en un único árbol jerárquico gestionado eficientemente.

¿Cómo soluciono este fallo dentro de contenedores LXC en Proxmox?

En Proxmox VE añade lxc.cgroup2.memory.max o habilita la opción de virtualización de características avanzadas nesting=1 en el archivo /etc/pve/lxc/.conf.

Consejo de Prevención

Prácticas de seguridad recomendadas:

  • Mantén Docker Engine y containerd actualizados a versiones oficiales para evitar problemas de compatibilidad con cgroup v2.
  • Evita desactivar cgroup v2 permanentemente, ya que el soporte para v1 será depreciado en futuras versiones del kernel Linux.
Autor • Diseñador Web & Creador de Apps

Rodolfo Castro

Diseñador web, creador de aplicaciones y fundador de SoporteCero. Especialista en desarrollo de productos digitales, interfaz de usuario y arquitectura web. Cada tutorial y solución de SoporteCero es reproducido y verificado en laboratorio técnico para ofrecer guías funcionales y actualizadas.