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

Low entropy freezes Docker on boot #37707

Open
BenHall opened this issue Aug 23, 2018 · 2 comments
Open

Low entropy freezes Docker on boot #37707

BenHall opened this issue Aug 23, 2018 · 2 comments

Comments

@BenHall
Copy link
Contributor

BenHall commented Aug 23, 2018

Forgive me if this is the wrong repo.

When a machine boots, if it has low entropy then halt will freeze as it is using getRandom system call.

$ cat /proc/sys/kernel/random/entropy_avail
116

Here is a full stack trace: https://gist.github.com/BenHall/0eb59c997be5a96cae883492f1cf779e

After a period of time, once enough entropy is available, docker will start. Once it has started, it no longer appears to depend upon getRandom.

This was introduced sometime after 17.09. I believe 18.03 release. We have created a workaround but it's adding a lot of unrequired load to our systems.

@BenHall BenHall changed the title Low entropy freezes Docker Low entropy freezes Docker on boot Aug 23, 2018
@cpuguy83
Copy link
Member

Sounds possibly similar to containerd/containerd#2451

@justincormack
Copy link
Contributor

The containerd issue came up from LinuxKit, after the Linux kernel changes that meant that early stage (buggy, apparently) entropy was no longer added; it is going to be hard to not get code to require entropy though.

I highly recommend you find an entropy source for your machines. I can give advice on that, depending on your environment. I don't think we will be able to fix it in Docker, eg if you use TLS connections, Swarm mode, etc etc we do require random numbers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants