What exactly does "-Djava.security.egd=file:/dev/./urandom" do when containerizing a Spring Boot application
The purpose of that security property is to speed up tomcat startup. By default the library used to generate random number in JVM on Unix systems relies on /dev/random
. On docker containers there isn't enough entropy to support /dev/random
. See Not enough entropy to support /dev/random
in docker containers running in boot2docker.
The random number generator is used for session ID generation. Changing it to /dev/urandom
will make the startup process faster.
Similar question Slow startup on Tomcat 7.0.57 because of SecureRandom