Docker运行tomcat容器遇到的坑

  • • 发表于2018-12-29 01:39:13.0
  • • 作者 Mercury1z
  • • 615 次浏览
  • • 0 条评论
  • • 最后编辑时间 2018-12-29 01:43:30.0
  • • 来自 [开 源]

原创声明:本文为作者原创,未经允许不得转载,经授权转载需注明作者和出处

1.Tomcat每一次启动会很慢,启动时间长

一般来说,tomcat启动正常都是几十秒左右就可以启动起来,但是如果安装的是tomcat默认的镜像,你每一次启动都要等好久好久好久,然后才启动完成。

启动慢的原因

根本原因是 SecureRandom 这个 jre 的工具类的问题,Tomcat 7/8 都使用org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom 类产生安全随机类 SecureRandom 的实例作为会话 ID。SecureRandom generateSeed 使用 /dev/random 生成种子。但是 /dev/random 是一个阻塞数字生成器,如果它没有足够的随机数据提供,它就一直等,这迫使 JVM 等待。键盘和鼠标输入以及磁盘活动可以产生所需的随机性或熵。但在一个服务器缺乏这样的活动,可能会出现问题。
简单来说就是还需要配置一下tomcat/bin文件夹下的catalina.sh文件,在文件夹中加入下面的命令

JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"

效果图

然后重启容器,就会发现启动跟以前一样了~~~

持续更新中……

评论区(共0条评论)
0条评论
Ctrl+Enter
作者

Michael

Mercury1z

帖子:7 回复:0

简简单单的开发攻城师

作者详情》
Top