安裝再docker中的tomcat,在下載大文件或者某些情況下,會出現tomcat的內存溢出等情況,所以需要配置tomcat的內存大小,docker中的tomcat內存大小配置有兩種方式:
一、掛載docker中的配置文件
通過將docker中tomcat的catalina.sh配置文件掛載到宿主機中,然後再catalina.sh配置jvm內存大小即可。
- 需要重新運行一個tomcat容器(注意: 端口和容器名稱不能重複)
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/
掛載當前項目的運行目錄到tomcat下的webapps
* -v /server/catalina.sh:/usr/local/tomcat/bin/catalina.sh
掛載宿主機的catalina.sh到docker中tomcat下的catalina.sh
* -v /server/logs/demo:/server/logs/demo
掛載日誌到宿主機中
* -e TZ="Asia/Shanghai"
設置時區
* --privileged=true
設置擁有容器中的真正的root權限
* -p 8080:8080
映射端口
* tomcat8
鏡像的名稱
-
catalina.sh中的配置內存
cygwin=false下面加入:
JAVA_OPTS="-server -Xms1024m -Xmx2048m -XX:MaxNewSize=256m -XX:PermSize=128m -XX:MaxPermSize=256m"
-xms 初始化堆內存
-xmx 最大堆內存
二、直接修改tomcat容器的catalina.sh的配置
可以直接進入容器中修改tomcat的catalina.sh的配置文件,不過該方法不推薦,因爲以後再次秀掛比較麻煩,並且不方便配置,如果需要重新運行容器的時候,不知道容器中的內存大小的配置
-
進入容器
docker exec -it <container_name> /bin/bash
-
找到catalina.sh配置文件, 並增加配置(第一步中增加的配置語句即可)
// 如果沒有vi 命令,則需要安裝
vi /usr/local/tomcat/bin/catalina.sh
// 退出容器,並重新啓動
exit
docker restart <containner_name>
注意: 如果修改Catalina.sh的時候提示該文件是一個只讀文件或者提示沒有權限修改,那麼則需要以root權限進入容器,具體的方法見: Docker容器中的root權限獲取