安裝再docker中的tomcat,在下載大文件或者某些情況下,會出現(xiàn)tomcat的內(nèi)存溢出等情況,所以需要配置tomcat的內(nèi)存大小,docker中的tomcat內(nèi)存大小配置有兩種方式:
通過將docker中tomcat的catalina.sh配置文件掛載到宿主機(jī)中,然后再catalina.sh配置jvm內(nèi)存大小即可。
docker run -d \ -v /server/webapps:/usr/local/tomcat/webapps/ \ -v /server/catalina.sh:/usr/local/tomcat/bin/catalina.sh \ -v /server/logs/demo:/server/logs/demo \ -e TZ="Asia/Shanghai" \ --privileged=true \ --name demo \ -p 8080:8080 \ tomcat8
說明:
* -v /server/webapps:/usr/local/tomcat/webapps/ 掛載當(dāng)前項目的運行目錄到tomcat下的webapps
* -v /server/catalina.sh:/usr/local/tomcat/bin/catalina.sh 掛載宿主機(jī)的catalina.sh到docker中tomcat下的catalina.sh
* -v /server/logs/demo:/server/logs/demo 掛載日志到宿主機(jī)中
* -e TZ="Asia/Shanghai" 設(shè)置時區(qū)
* --privileged=true 設(shè)置擁有容器中的真正的root權(quán)限
* -p 8080:8080 映射端口
* tomcat8 鏡像的名稱
cygwin=false下面加入:
JAVA_OPTS="-server -Xms1024m -Xmx2048m -XX:MaxNewSize=256m -XX:PermSize=128m -XX:MaxPermSize=256m"
-xms 初始化堆內(nèi)存
-xmx 最大堆內(nèi)存
可以直接進(jìn)入容器中修改tomcat的catalina.sh的配置文件,不過該方法不推薦,因為以后再次秀掛比較麻煩,并且不方便配置,如果需要重新運行容器的時候,不知道容器中的內(nèi)存大小的配置
docker exec -it <container_name> /bin/bash
// 如果沒有vi 命令,則需要安裝 vi /usr/local/tomcat/bin/catalina.sh // 退出容器,并重新啟動 exit docker restart <containner_name>
注意:
如果修改Catalina.sh的時候提示該文件是一個只讀文件或者提示沒有權(quán)限修改,那么則需要以root權(quán)限進(jìn)入容器,具體的方法如下
補(bǔ)充:Docker容器中的root權(quán)限獲取
有一些操作是經(jīng)常需要進(jìn)入到docker容器中操作的,例如突然需要修改某個配置文件等,但是修改該文件是需要root權(quán)限,可以參考下面的解決方案
通常修改文件時會提示:read-only file system 或者 Permission denied
在運行docker容器時,可以將該配置文件復(fù)制一份到宿主機(jī),然后run的時候,加載-v參數(shù),將宿主機(jī)的配置文件掛載到docker中即可。
命令:
docker exec -it -u root <container_id> /bin/bash
注意:
執(zhí)行上述命令的前提是,run 容器的時候,加上了這個參數(shù):--privileged=true 否則進(jìn)入到容器中還是提示沒有權(quán)限修改
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
標(biāo)簽:荊門 朝陽 運城 面試通知 遵義 連云港 雞西 隴南
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Docker tomcat的設(shè)置內(nèi)存大小配置方式》,本文關(guān)鍵詞 Docker,tomcat,的,設(shè)置,內(nèi)存,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。