docker
system_error
ai_generated
true
failed to mount overlay: permission denied
ID: docker/overlay2-mount-permission-denied
75%Fix Rate
85%Confidence
1Evidence
2024-03-15First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| Docker 24.0.7 | active | — | — | — |
| Docker 25.0.0 | active | — | — | — |
| Kernel 6.5.0 | active | — | — | — |
Root Cause
The Docker overlay2 storage driver cannot mount due to insufficient kernel capabilities or SELinux/AppArmor restrictions, often after a kernel update.
generic中文
Docker overlay2 存储驱动无法挂载,原因是内核能力不足或 SELinux/AppArmor 限制,通常在更新内核后发生。
Official Documentation
https://docs.docker.com/storage/storagedriver/overlayfs-driver/Workarounds
-
85% success Check SELinux context and set boolean: sudo setsebool -P container_manage_cgroup 1
Check SELinux context and set boolean: sudo setsebool -P container_manage_cgroup 1
-
70% success Switch Docker storage driver to overlay (legacy) or devicemapper as fallback: edit /etc/docker/daemon.json and add 'storage-driver': 'overlay' then restart docker.
Switch Docker storage driver to overlay (legacy) or devicemapper as fallback: edit /etc/docker/daemon.json and add 'storage-driver': 'overlay' then restart docker.
-
80% success If using AppArmor, check apparmor_status and ensure docker profile is loaded: sudo aa-status | grep docker
If using AppArmor, check apparmor_status and ensure docker profile is loaded: sudo aa-status | grep docker
中文步骤
Check SELinux context and set boolean: sudo setsebool -P container_manage_cgroup 1
Switch Docker storage driver to overlay (legacy) or devicemapper as fallback: edit /etc/docker/daemon.json and add 'storage-driver': 'overlay' then restart docker.
If using AppArmor, check apparmor_status and ensure docker profile is loaded: sudo aa-status | grep docker
Dead Ends
Common approaches that don't work:
-
sudo systemctl restart docker
80% fail
Restarting docker daemon alone does not fix the underlying filesystem or security context issue.
-
sudo apt-get remove docker && sudo apt-get install docker
70% fail
Reinstalling Docker does not address kernel or SELinux configuration changes.
-
setenforce 0
50% fail
Disabling SELinux entirely is overkill and may have security implications, but it works temporarily; however, it's not a permanent fix.