Gentoo Archives: gentoo-user

From: Andrew Udvare <audvare@×××××.com>
To: gentoo-user@l.g.o
Subject: [gentoo-user] Docker + systemd since cgroups v2
Date: Tue, 10 Sep 2019 14:12:22
Message-Id: ADFA6D34-D114-4F39-95E5-9FC4FB0F6526@gmail.com
For reference: uname -r: 5.2.13-gentoo, systemd version 243_rc2-r1[cgroup-hybrid], ACCEPT_KEYWORDS="~amd64"

My system started failing to start running docker.service automatically and the logs weren't too helpful. Finally I ran dockerd on its own and found that it gave me this error message:

Devices cgroup isn't mounted

This is not too easy to diagnose as there seem to be a set of solutions but none of the main two worked for me. One involved setting 2 options on the kernel command line:

cgroup_enable=memory swapaccount=1

And the other was to add USE="cgroup-hybrid" to systemd. I did this, but it too it did not work.

The other solution is to simply mount the cgroup manually and this works but I did not see why I'd have to do that now when I never had to in the past.

I actually had to add this to my command line:

systemd.legacy_systemd_cgroup_controller=yes

This has been noted in other distros but from what I can tell this is solely because runc has not been updated to be able to use cgroups v2.

Anyone else ran into this issue? Is there something I am missing so I wouldn't need to pass a kernel command line option?

Reference links:

https://docs.docker.com/install/linux/linux-postinstall/#your-kernel-does-not-support-cgroup-swap-limit-capabilities
https://github.com/opencontainers/runc/issues/654
https://github.com/opencontainers/runc/issues/1175
https://wiki.gentoo.org/wiki/Docker#Docker_service_fails_because_cgroup_device_not_mounted_.28systemd.29


-- 
Andrew Udvare

Replies

Subject Author
Re: [gentoo-user] Docker + systemd since cgroups v2 John Covici <covici@××××××××××.com>