啓動tomcat一直卡在Root WebApplicationContext: initialization completed in 2520 ms之後要等三五分鐘纔會啓動成功, 後來看到http://www.jianshu.com/p/576d356dc163這篇文章裏找到了緣由 主要是由於阿里雲的熵池過小 熵池的大小是根據鍵盤 鼠標之類的噪音產生的數 而後/dev/random會根據熵池來生成隨機數 而生成須要有足夠的熵池裏的噪音數 若是沒有達到的話就會一直阻塞 tomcat啓動的時候爲了生成session id就會獲取這個隨機數來生成密匙 因此纔出現上面的狀況 一直阻塞在等待熵池裏的數知足生成隨機數的大小 3分鐘之後熵池裏的數夠大了纔開始部署 因此咱們能夠使用rngd來增大熵池 由於docker容器的熵池都是共享的宿主機的 因此只要增大宿主機的熵池就能夠了 在容器內是沒辦法經過rngd修改熵池的由於沒有權限修改宿主機的東西 只能經過上面連接裏提到的修改jre或者tomcat的方法docker
yum install -y rng-tools systemctl start rngd cp /usr/lib/systemd/system/rngd.service /etc/systemd/system vi /etc/systemd/system/rngd.service
找到ExecStart 在最後加上-r /dev/urandomtomcat
ExecStart=/sbin/rngd -f -r /dev/urandom
從新載入服務session
systemctl daemon-reload
重啓服務
dom
systemctl restart rngd