Hi all,
I’m trying to get Docker installed, and have been having some success, but am now stuck at the point of getting the daemon to run.
The install was straightforward and mostly follows the official instructions for armhf, the only adjustment was to replace /etc/apt/sources.list with this one, which applies the universe/restricted/multiverse before running sudo apt-get update.
With that done, it downloads and installs, however systemctl cannot start the daemon. The error is:
Mar 06 14:24:43 snoodle-29 dockerd[9355]: time="2019-03-06T14:24:43.199374320Z" level=info msg="Graph migration to content-addressability took 0.00 seconds" Mar 06 14:24:43 snoodle-29 dockerd[9355]: time="2019-03-06T14:24:43.201050225Z" level=warning msg="Your kernel does not support cgroup memory limit" Mar 06 14:24:43 snoodle-29 dockerd[9355]: time="2019-03-06T14:24:43.201284652Z" level=warning msg="Unable to find cpu cgroup in mounts" Mar 06 14:24:43 snoodle-29 dockerd[9355]: time="2019-03-06T14:24:43.201809667Z" level=warning msg="Unable to find blkio cgroup in mounts" Mar 06 14:24:43 snoodle-29 dockerd[9355]: time="2019-03-06T14:24:43.202066858Z" level=warning msg="Unable to find cpuset cgroup in mounts" Mar 06 14:24:43 snoodle-29 dockerd[9355]: time="2019-03-06T14:24:43.202558567Z" level=warning msg="mountpoint for pids not found" Mar 06 14:24:43 snoodle-29 dockerd[9355]: Error starting daemon: Devices cgroup isn't mounted Mar 06 14:24:43 snoodle-29 systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE Mar 06 14:24:43 snoodle-29 systemd[1]: Failed to start Docker Application Container Engine. -- Subject: Unit docker.service has failedThere are plenty of other people with this error. However, I've been unable to find a solution.
This looks like an issue with cgroups. Docker has a page on cgroups.
It looks like cgroups is being mounted:
snickerdoodle@snoodle-29:~$ grep cgroup /proc/mounts tmpfs /sys/fs/cgroup tmpfs rw,mode=755 0 0 cgroup /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd 0 0Which means that some of the help ("install cgroups-lite" or "install cgroups-mount" and then manually start docker) doesn't work.
Further in the Docker cgroups page it looks like the first warning “Your kernel does not support cgroup memory limit” can be fixed by adding “cgroup_enable=memory swapaccount=1” to the “kernel command line parameters”. Again, online help points to editing this in the grub file, but that seems to be missing.
This leads to issue 1: Where does one specify the “kernel command line parameters”?
Now the other warning “Unable to find <cpu, blkio, cpuset, pids> cgroup in mounts”. This looks like maybe those are not set in the kernel… and then ultimately lead to the “Devices cgroup isn’t mounted” error? Here I’m out of my league. The one useful answer I found suggests rebuilding the kernel. I don’t have this capability, but if someone could test that, I would be appreciative.