-
Notifications
You must be signed in to change notification settings - Fork 18.7k
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
Fedora Docker-CE-Engine 20.10.13 consumes all available system memory (kernel 5.16.13) #43361
Comments
I got the same issue with It seems that the problem doesn't seem to exist with |
I downgraded to 20.10.12, 20.10.11 and 20.10.10 (the 3 last versions available in the official repo) and I still hit the same issue. That's maybe a kernel issue. |
Thanks for reporting; so to reproduce the issue, just a If that's the case, that's odd indeed. As a workaround to prevent the system from running out of memory, you could of course add memory constraints to the container itself (but that wouldn't fix the underlying issue, just possibly prevent it from consuming all memory). |
Could you perhaps also add the output of |
Yes, it's as simple as that. The output will be the following for a while (while eating all the RAM) and eventually the init will continue.
Actually, setting a memory constraint makes mysql init fail:
(Same command works with mysql:8.0) docker info, here it is:
I switched back to older kernel version (5.14.10 here, identified the issue with 5.16.13) |
FTR, @LeSuisse identified that a rollback to containerd.io-1.4.13-3.1.fc35 solves the problem |
Using a different kernels (5.14.18-300.fc35, 5.16.14-200.fc35) and Docker CE Engines (20.10.12, 20.10.11, 20.10.10) did not resolve the issue for me. Only downgrading to containerd.io-1.4.13-3.1.fc35 resolved the memory leak. Here's my
|
Are you seeing the same happening if you run the container through containerd? Something like; ctr image pull docker.io/library/mysql:5.7
ctr run --env MYSQL_ALLOW_EMPTY_PASSWORD=1 -t docker.io/library/mysql:5.7 mycontainer |
Running container through containerd (both 1.4.13-3.1.fc35 and 1.5.10-3.1.fc35) does not create the memory leak. However in order to run the container I had to do some mounting trickery (hopefully it does not yield into an apples to oranges comparison): cd /home/kait
mkdir run
chmod 777 run
ctr run --rm --mount "type=bind,src=/home/kait/run,dst=/var/run/mysqld,options=rbind:rw" --env MYSQL_ALLOW_EMPTY_PASSWORD=1 docker.io/library/mysql:5.7 mycontainer Otherwise the container initialization would fail with error:
And the server would shut down. |
Is there anything we can do here to make it move forward ? |
Is there any update about this? |
Small update for the people using fedora with the upgrade to Fedora 36 there is no way to downgrade containerd. Just learned this the hard way after upgrading and the bug still existing 😅. |
Maybe interesting for those who also upgraded already to fedora 36 i found a way to still downgrade to the working versions by specifying the fedora release version in dnf:
|
Hello, I've upgraded my workstation to Fedora 36 with the last versions of containerd.io and docker-ce and the issue is still here. Only the downgrade suggested by @kevin0x90 seems to provide a running MySQL container without consuming all the memory. How can we help you to solve this issue? |
This how it works for me on Fedora 36: Downgrade sudo dnf --releasever=35 downgrade docker-ce-3:20.10.10 docker-ce-cli-3:20.10.10 containerd.io-1.4.13 Then freeze sudo dnf install 'dnf-command(versionlock)'
sudo dnf versionlock containerd.io-1.4.13 |
Maybe some good to know addition to the versionlock is that if you use gnome software for updates it will ignore the versionlock in dnf https://bugzilla.redhat.com/show_bug.cgi?id=1671489 I just stumbled about this recently. |
For the record, switching from docker-ce to moby & all provided by fedora solved the issue for me |
@vaceletm could show a direction to dig about switching from docker-ce to mody? |
Here is the full script of what I had to do, some of the change might be related to composer v2 switch (builtkit by default but I didn't track down everything):
Be careful: with this approach you disable selinux on your platform, you might be at risk then. Evaluate the consequences beforehand. |
Just came across this issue yesterday. Figure I'd provide additional info and which solution worked best for me. Kernel:
I tried uninstalling docker-ce's docker-engine and installing Fedora's moby-engine, which worked, but ran into SELinux issues as mentioned above. What works decently well for me is Docker Desktop for Linux. I just enable "Start Docker Desktop when you log in" (and change other settings...), and then change the CLI's context via:
What's nice is that you can run Other than running into UID-related issues, things seem to be working fine.
|
Apparently with some recent releases of some OSes where new containerd has been released, default docker community edition causes Airlfow to immediately consume all memory. This happens in Breeze and Docker Compose at least. There is a workaround described in: ttps://github.com/moby/moby/issues/43361#issuecomment-1227617516 to use Docker Desktop instead. The issue is tracked in containerd in this issue - proposing to revert the change (as it impacts other applications run in docker, not only Airlfow): containerd/containerd#7566
Apparently with some recent releases of some OSes where new containerd has been released, default docker community edition causes Airlfow to immediately consume all memory. This happens in Breeze and Docker Compose at least. There is a workaround described in: ttps://github.com/moby/moby/issues/43361#issuecomment-1227617516 to use Docker Desktop instead. The issue is tracked in containerd in this issue - proposing to revert the change (as it impacts other applications run in docker, not only Airlfow): containerd/containerd#7566
Hi. I have Fedora-36 and solved this issue by changing in |
Apparently with some recent releases of some OSes where new containerd has been released, default docker community edition causes Airlfow to immediately consume all memory. This happens in Breeze and Docker Compose at least. There is a workaround described in: ttps://github.com/moby/moby/issues/43361#issuecomment-1227617516 to use Docker Desktop instead. The issue is tracked in containerd in this issue - proposing to revert the change (as it impacts other applications run in docker, not only Airlfow): containerd/containerd#7566 GitOrigin-RevId: de2889c2e9779177363d6b87dc9020bf210fdd72
Apparently with some recent releases of some OSes where new containerd has been released, default docker community edition causes Airlfow to immediately consume all memory. This happens in Breeze and Docker Compose at least. There is a workaround described in: ttps://github.com/moby/moby/issues/43361#issuecomment-1227617516 to use Docker Desktop instead. The issue is tracked in containerd in this issue - proposing to revert the change (as it impacts other applications run in docker, not only Airlfow): containerd/containerd#7566 GitOrigin-RevId: de2889c2e9779177363d6b87dc9020bf210fdd72
Apparently with some recent releases of some OSes where new containerd has been released, default docker community edition causes Airlfow to immediately consume all memory. This happens in Breeze and Docker Compose at least. There is a workaround described in: ttps://github.com/moby/moby/issues/43361#issuecomment-1227617516 to use Docker Desktop instead. The issue is tracked in containerd in this issue - proposing to revert the change (as it impacts other applications run in docker, not only Airlfow): containerd/containerd#7566 GitOrigin-RevId: de2889c2e9779177363d6b87dc9020bf210fdd72
Apparently with some recent releases of some OSes where new containerd has been released, default docker community edition causes Airlfow to immediately consume all memory. This happens in Breeze and Docker Compose at least. There is a workaround described in: ttps://github.com/moby/moby/issues/43361#issuecomment-1227617516 to use Docker Desktop instead. The issue is tracked in containerd in this issue - proposing to revert the change (as it impacts other applications run in docker, not only Airlfow): containerd/containerd#7566 GitOrigin-RevId: de2889c2e9779177363d6b87dc9020bf210fdd72
Description
The issue occured on my Fedora version: Fedora release 35
Kernel Information:
Linux 5.16.12-200.fc35.x86_64 #1 SMP PREEMPT Wed Mar 2 19:06:17 UTC 2022
When starting a docker-compose project with mysql with Docker-CE-Engine Version 20.10.13 it consumes all available system memory. With version 20.10.10 the issue is non existing and the docker-compose project requires only ~2GB of RAM.
Steps to reproduce the issue:
Describe the results you received:
All available system memory is consumed and the system stops working at some point.
Describe the results you expected:
I would expected around the same memory consumption as with the old working Version 20.10.10
Additional information you deem important (e.g. issue happens only occasionally):
The issue was reproducible and only a downgrade to 20.10.10 could solve the issue.
Version info where the issue occured:
Client: Docker Engine - Community
Version: 20.10.13
API version: 1.41
Go version: go1.16.15
Git commit: a224086
Built: Thu Mar 10 14:08:18 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.13
API version: 1.41 (minimum version 1.12)
Go version: go1.16.15
Git commit: 906f57f
Built: Thu Mar 10 14:06:06 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.5.10
GitCommit: 2a1d4dbdb2a1030dc5b01e96fb110a9d9f150ecc
runc:
Version: 1.0.3
GitCommit: v1.0.3-0-gf46b6ba
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Additional environment details (AWS, VirtualBox, physical, etc.):
physical hardware.
The text was updated successfully, but these errors were encountered: