java 中使用安全随机数,SecureRandom
,在调用时,默认使用 /dev/random
,在 docker 容器中调用的时候,容易被阻塞挂起,参考文章如下:
- 解惑:SecureRandom极慢
- Not enough entropy to support /dev/random in docker containers running in boot2docker
总结如下三种方案:
- 添加 jvm 的参数:
-Djava.security.egd=file:/dev/./urandom
- 将宿主机的
/dev/urandom
映射到容器的/dev/random
- 将宿主机的
/dev/random
映射到容器的/dev/random