Desde la llegada de Ubuntu 24.04 LTS (Noble Numbat), muchos usuarios se han encontrado con que Docker Desktop deja de funcionar correctamente. El problema más común es que, tras la instalación, el programa se queda en el mensaje “Waiting for Docker Engine to start” y nunca llega a iniciarse.
¿Por qué ocurre este fallo?
La causa principal está relacionada con AppArmor, el sistema de control de seguridad que Ubuntu utiliza para restringir lo que puede hacer cada proceso.
En Ubuntu 24.04 se ha introducido una nueva configuración que restringe los user namespaces no privilegiados. Docker Desktop depende de esos namespaces para ejecutar la máquina virtual que gestiona los contenedores. Cuando AppArmor bloquea este comportamiento, Docker no consigue arrancar.
Soluciones temporales
Opción 1: Desactivar la restricción de user namespaces
Podemos cambiar el parámetro del kernel en caliente:
$ sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
$ systemctl --user restart docker-desktop
Esto permite que Docker arranque, aunque el cambio se pierde al reiniciar.
Para hacerlo permanente, se puede añadir el ajuste en /etc/sysctl.d/99-docker-desktop.conf
:
echo "kernel.apparmor_restrict_unprivileged_userns=0" | sudo tee /etc/sysctl.d/99-docker-desktop.conf
sudo sysctl --system
Opción 2: Crear un perfil de AppArmor para Docker Desktop
Otra opción más limpia es añadir un perfil específico que autorice el binario de Docker Desktop:
sudo nano /etc/apparmor.d/opt.docker-desktop.bin.com.docker.backend
Con el contenido:
abi <abi/4.0>,
include <tunables/global>
/opt/docker-desktop/bin/com.docker.backend flags=(default_allow) {
userns,
# Site-specific additions and overrides. See local/README for details.
include if exists <local/opt.docker-desktop.bin.com.docker.backend>
}
Después reiniciamos AppArmor:
sudo systemctl restart apparmor.service
Ahora Docker Desktop debería iniciar sin necesidad de repetir el ajuste tras cada reinicio.
Advertencia de seguridad
Cambiar la configuración de AppArmor o desactivar restricciones reduce la seguridad del sistema. Solo deberías aplicar estos cambios si realmente necesitas Docker Desktop en tu máquina, y conviene seguir de cerca futuras actualizaciones tanto de Ubuntu como de Docker, ya que es probable que publiquen una solución oficial.
Conclusión
Si usas Ubuntu 24.04 LTS, es probable que Docker Desktop no arranque por defecto debido a la nueva configuración de AppArmor. Existen soluciones temporales (ajustar sysctl
) y permanentes (crear un perfil AppArmor específico). Aunque ninguna es ideal, permiten seguir trabajando mientras llega un parche oficial.