Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Latest docker update causes issues on btrfs #19202

Closed
kernle32dll opened this issue Feb 16, 2020 · 6 comments · Fixed by #19226
Closed

Latest docker update causes issues on btrfs #19202

kernle32dll opened this issue Feb 16, 2020 · 6 comments · Fixed by #19226
Labels
bug Something isn't working

Comments

@kernle32dll
Copy link
Contributor

The commit ec709f9 did not only update docker, but enforced the overlay2 storage driver. While this is a fine default, it can actually break docker on btrfs file systems.

From the Dockerd documentation:

Note: Both overlay and overlay2 are currently unsupported on btrfs or any Copy on Write filesystem and should only be used over ext4 partitions.

Even if not breaking, its an un-intuitive change, if you don't happen to use overlay2 previously. It took me a good while to understand why all of my images and volumes were gone - which was due to the change of the storage driver.

Its easy to fix locally - just remove the storage-driver line from /etc/docker/daemon.json. But this should be removed in the package, too - IMO.

@D-Nice
Copy link
Contributor

D-Nice commented Feb 17, 2020

I find many issues with the change myself. The only potentially needed part there is log-driver, which should just be passed as a flag from runit, and not bog the rest of us down with some defaults we don't want AND replacing our own configs.

jbenden added a commit to jbenden/void-packages that referenced this issue Feb 17, 2020
Fixes: void-linux#19202 (Latest docker update causes issues on btrfs)
Signed-off-by: Joseph Benden <joe@benden.us>
@kernle32dll
Copy link
Contributor Author

Welp, the new PR now completely broke Docker for me. Daemon is not starting again anymore.

sv status docker yields:

run: docker: (pid 15449) 1s; warning: docker/log: unable to open supervise/ok: file does not exist

No clue how to fix myself.

@kernle32dll
Copy link
Contributor Author

kernle32dll commented Feb 17, 2020

It is. After some tinkering I got it running again:

First, I removed the /etc/sv/docker/log folder - not sure if that did anything, but it got rid of the error message above.

Then turns out, due to the original problem I had both overlay2 and btrfs under /var/lib/docker. With the removal of the daemon.json per #19226 (edit: to be precise - I deleted it locally too after the update), Docker was unable to "guess" the correct storage driver. I deleted the overlay2 folder (warning fellow Googler, this is due to me using Btrfs, don't do that blindly), and it works again.

atweiden pushed a commit to atweiden/voidpkgs that referenced this issue Feb 17, 2020
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 25, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants
@kernle32dll @D-Nice and others