I’m encountering an issue where Docker fails to pull certain images due to extended attributes not being enabled on the root filesystem. Specifically, I get the following error:
failed to register layer: lsetxattr user.overlay.impure /etc: operation not supported
Here’s my setup:
- NixOS version: 24.05
- Kernel: 6.6.68
- Filesystem:
ext4
- Docker storage driver:
overlay2
What I’ve Tried So Far
1. Adding user_xattr
to /
in configuration.nix
:
fileSystems."/" = {
device = "/dev/disk/by-uuid/5fb1cac8-df9f-4550-b034-443dd19e162c";
fsType = "ext4";
options = [ "rw" "relatime" "user_xattr" ];
};
After running sudo nixos-rebuild switch --flake
and rebooting, the mount options for /
still do not show user_xattr
:
$ mount | grep "on / "
/dev/nvme0n1p2 on / type ext4 (rw,relatime)
2. Manually Remounting /
:
I tried remounting the root filesystem manually:
sudo mount -o remount,rw,relatime,user_xattr /
Even after this, mount | grep "on / "
doesn’t show user_xattr
. Additionally, running sudo getfattr -d /etc
doesn’t return any attributes.
3. Checking Kernel Support for xattr
:
I ran:
zgrep CONFIG_EXT4_FS_XATTR /proc/config.gz
But it returned nothing, indicating that either the kernel configuration file isn’t available or the kernel lacks CONFIG_EXT4_FS_XATTR
.
Any advice or guidance would be greatly appreciated. Thank you!