docker容器跑tomcat遇到的坑


使用docker容器跑tomcat,由於同一個宿主機上跑了多個容器,再加上宿主機本身跑了很多進程,導致系統總的進程數達到了8000+,而容器中tomcat的啟動腳本中會調用自帶的setenv.sh,在setenv.sh中有這么一句ulimit -u 8192,由於系統進程數已經達到了8192,因此在啟動tomcat時會報錯:

tomcat/bin/catalina.sh: fork: retry: No child processes
tomcat/bin/catalina.sh: fork: retry: No child processes
tomcat/bin/catalina.sh: fork: retry: No child processes
tomcat/bin/catalina.sh: fork: retry: No child processes
tomcat/bin/catalina.sh: fork: Resource temporarily unavailable

導致tomcat無法啟動,后來修改setenv.sh,將ulimit -u 8192,改為ulimit -u 58192,tomcat可以正常啟動了。

系統max proc配置(ulimit -a查看)在/etc/security/limits.conf中。

系統limit設置修改方法推薦鏈接:

http://pvbutler.blog.51cto.com/7662323/1558092

http://jingyan.baidu.com/article/1974b289a397d1f4b1f77495.html

http://www.cnblogs.com/mylingc/archive/2013/05/24/3097416.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM