Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
cgroups: memory cgroup not supported on this system #35587
Log from Docker executor container:
Steps to reproduce the issue:
Describe the results you received:
Image not builded.
Describe the results you expected:
Image builded successfully.
Additional information you deem important (e.g. issue happens only occasionally):
Tested on lot of projects where previous builds was successfull.
Server is used only for builds, all memory and CPU resources are unused.
In my case it was problem with latest docker:dind image - docker:17.11.0-ce-dind.
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4135203..e8bc8d0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,7 +4,7 @@ image: docker:17.09 services: - - docker:dind + - docker:17.09-dind
referenced this issue
Nov 23, 2017
I had this problem with Raspbian Stretch / Debian 9.1 / Kernel 4.9.65+ / Docker 17.11.0-ce
So, no need to downgrade docker ; )
Just ran into this on Devuan Jessie w/ vanilla 3.16.0 kernel image using the official
docker run hello-world
hangs. Downgrading to
I'm not seeing this on another Devuan Jessie system w/ a 4.9.0 vanilla kernel image from
Waiting for a bug fix release
referenced this issue
Dec 4, 2017
I wrote on November 29th:
Your kernel is a month too old to not require the interim
Has anyone found a solution to this problem yet? I upgraded my kernel to the newest version today and added the cgroup_memory=1 to /boot/cmdline.txt. I'm still getting the same error:
$ cat /boot/cmdline.txt
$ uname -a
$ docker info
It checks if the settings
# Go to your home directory cd $HOME # Copy the file to edit it in your home directory sudo cp /boot/cmdline.txt ./cmdline.txt # Create a backup, just in case cp ./cmdline.txt ./cmdline.txt.backup # If you feel risky, you could replace the lines above uncommenting the ones below # sudo su # cd /boot # This long single line has everything. Check for both settings and set them only if they are not set if [ $(grep -c cgroup_enable=memory cmdline.txt) == 0 ] ; then echo "$(cat cmdline.txt) cgroup_enable=memory" > cmdline.txt ; fi && if [ $(grep -c cgroup_memory=1 cmdline.txt) == 0 ] ; then echo "$(cat cmdline.txt) cgroup_memory=1" > cmdline.txt ; fi # If you ran it in your home directory, now you need to copy the modified file to the boot directory sudo cp ./cmdline.txt /boot/cmdline.txt
It was tested in a Raspberry Pi 3 B running:
Yes, the problem was in containerd, not docker (basically; docker only printed a "warning", but containerd 1.0 made this an "error"). This pull-request fixed it; containerd/containerd#1803 and is part of Docker 17.12
Important even though this issue is fixed and Docker now successfully starts without memory cgroup being supported, it is still highly recommended to make sure your system does have support for memory cgroups. If memory cgroups are not enabled on your system, docker cannot restrict memory for containers, so containers can use unlimited memory, and easily cause the host to run out of memory if something went wrong inside a container, or a container is too greedy.