dockertomcat多开实例(Docker tomcat的设置内存大小配置方式)
dockertomcat多开实例
Docker tomcat的设置内存大小配置方式安装再docker中的tomcat,在下载大文件或者某些情况下,会出现tomcat的内存溢出等情况,所以需要配置tomcat的内存大小,docker中的tomcat内存大小配置有两种方式:
一、挂载docker中的配置文件通过将docker中tomcat的catalina.sh配置文件挂载到宿主机中,然后再catalina.sh配置jvm内存大小即可。
1、需要重新运行一个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 镜像的名称
2、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的配置文件,不过该方法不推荐,因为以后再次秀挂比较麻烦,并且不方便配置,如果需要重新运行容器的时候,不知道容器中的内存大小的配置
1、进入容器
docker exec -it <container_name> /bin/bash
2、找到catalina.sh配置文件, 并增加配置(第一步中增加的配置语句即可)
// 如果没有vi 命令,则需要安装 vi /usr/local/tomcat/bin/catalina.sh // 退出容器,并重新启动 exit docker restart <containner_name>
注意:
如果修改Catalina.sh的时候提示该文件是一个只读文件或者提示没有权限修改,那么则需要以root权限进入容器,具体的方法如下
补充:Docker容器中的root权限获取
有一些操作是经常需要进入到docker容器中操作的,例如突然需要修改某个配置文件等,但是修改该文件是需要root权限,可以参考下面的解决方案
通常修改文件时会提示:read-only file system 或者 Permission denied
1、挂载配置文件在运行docker容器时,可以将该配置文件复制一份到宿主机,然后run的时候,加载-v参数,将宿主机的配置文件挂载到docker中即可。
2、以root权限进入docker容器命令:
docker exec -it -u root <container_id> /bin/bash
注意:
执行上述命令的前提是,run 容器的时候,加上了这个参数:--privileged=true 否则进入到容器中还是提示没有权限修改
以上为个人经验,希望能给大家一个参考,也希望大家多多支持开心学习网。如有错误或未考虑完全的地方,望不吝赐教。
- docker配置私有仓库(docker私有库的搭建实现)
- docker容器端口和内部进程(Docker动态给容器Container暴露端口操作)
- docker容器无法启动(Docker 无法停止或删除容器服务问题的解决方案)
- 数据库docker技术(总结Docker不适合部署数据库的7大原因)
- docker容器使用redis服务(docker安装redis设置密码并连接的操作)
- centos7docker部署(CentOS 7下设置Docker代理Linux下Systemd服务的环境变量配置)
- docker给镜像加名称(Alpine Docker镜像字体的问题解决操作)
- docker容器关闭后怎么启动(docker批量启动关闭所有容器的操作)
- docker-compose 开发代码(Docker Compose多容器部署的实现)
- docker插件容器使用(Docker容器开jupyter不能访问到的解决方法)
- django框架教程第100讲(详解Django+Vue+Docker搭建接口测试平台实战)
- docker容器默认内存大小(Docker 修改docker存储位置 修改容器镜像大小限制操作)
- docker执行shell脚本(基于Docker搭建ELK 日志系统的方法)
- docker 退出容器详解(Docker 使用nsenter工具进入容器的操作)
- docker 运行容器命令详细参数详解(Docker Hub运行原理及实现过程解析)
- docker查看运行容器参数(Docker容器时区调整操作)
- 越南河粉(越南河粉来自哪里)
- 按这几方面养护佛肚竹盆景,保证枝叶繁茂,造型优美(按这几方面养护佛肚竹盆景)
- 冰岛旅游攻略(冰岛旅游攻略及花费八日游)
- 寒假旅游攻略(成都寒假旅游攻略)
- 菲律宾旅游攻略(菲律宾旅游攻略地图)
- 清华大学难考吗(清华大学考研录取分数线)
热门推荐
- python 暗弱目标提取(Python提取频域特征知识点浅析)
- 微信公众号怎么开发页面(微信公众平台开发教程②微信端分享功能图文详解)
- typescript使用技巧(深入理解typescript中的infer关键字的使用)
- harborjob设置(harbor修改配置文件后重启操作)
- 香港免费虚拟主机(香港虚拟主机租用要怎么选择?)
- pyqt5信号槽编辑器(浅谈pyqt5中信号与槽的认识)
- vue router用法(如何在Vue 3中扩展Vue Router链接详解)
- linux安装nginx启动页面访问不到(apache,nginx上传目录无执行权限的设置方法)
- sqlserver数据库的对象有哪些(详解SQL Server数据库架构和对象、定义数据完整性)
- vue导出动态的excel功能(vue中如何下载excel流文件及设置下载文件名)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9