Hacker News new | past | comments | ask | show | jobs | submit login

Docker mostly works. However, `sudo docker run -it centos bash` fails because the centos image (as do many others) uses extended attributes, which are not compatible with the underlying btrfs filesystem. In those cases, I've been rebuilding the Docker images myself from source, when possible. It's frustratingly close!

wstein@penguin:~$ sudo docker run -it centos bash

Unable to find image 'centos:latest' locally

latest: Pulling from library/centos

a02a4930cb5d: Extracting 75.17MB/75.17MB

docker: failed to register layer: ApplyLayer exit status 1

stdout: stderr: operation not permitted.

See 'docker run --help'.




btrfs definitely supports extended attributes (and if it didn't you'd get ENOTSUP not EPERM when trying to use them). It's far more likely this is because you cannot set certain xattrs within a user namespace (such as some security.* ones) -- and LXC is being used with user namespaces in ChromeOS.

In fact, I added code to Docker almost 4 years ago to ignore ENOTSUP on xattr errors specifically because of filesystem support (AUFS was the issue at the time). So if it was a support issue you wouldn't see it, because the code already handles it. :P


Thanks for the clarification. I love btrfs by the way.


I love btrfs, but I love my data even more.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: