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 否则进入到容器中还是提示没有权限修改
以上为个人经验,希望能给大家一个参考,也希望大家多多支持开心学习网。如有错误或未考虑完全的地方,望不吝赐教。
- dockerfile 添加yum文件(使用YUM 安装 docker的方法步骤)
- docker虚拟机和容器(解决docker与vmware的冲突问题)
- docker swarm管理(Docker Swarm 服务编排之命令详解)
- docker虚拟化容器使用教程(Docker安装ClickHouse并初始化数据测试)
- dockerfile构建mysql镜像并初始化(docker-compose基于MySQL8部署项目的实现)
- 日常操作docker命令(Docker常用命令详解)
- docker 跨主机的网络通信(docker 基于golang镜像构建 ssh服务的方法)
- springboot怎么用docker(使用docker部署spring boot并接入skywalking的方法)
- 更改docker容器的ip地址(docker容器通过ping直接运行获取公网IP操作)
- mac使用docker部署项目(如何在mac上用docker对Oracle进行部署使用)
- dockerrun执行脚本(docker run和start的区别说明)
- dockerfile镜像案例(Dockerfile构建自定义镜像的实现)
- 修改docker镜像的环境变量(解决docker加载新的镜像后repository和tag名称都为none的问题)
- docker常用命令详解(docker常用命令总结推荐)
- docker 各种用法(详解Docker commit的使用)
- docker镜像内安装python包(如何使用Docker搭建pypi私有仓库)
- 终于来了,淘宝更改账户名测试中,快去看看你能不能修改(淘宝更改账户名测试中)
- 淘宝支持账号名修改,网友 终于可以 重新做人 了(淘宝支持账号名修改)
- 盘点那些年让人称奇的年终奖 最后一个赢辣条毫无悬念(盘点那些年让人称奇的年终奖)
- 你还没有升职吗 他竟因为几套激励理论,升职了(你还没有升职吗)
- 某知名企业绩效管理体系及薪酬分配体系操作手册(某知名企业绩效管理体系及薪酬分配体系操作手册)
- 职场人改不掉这4个习惯,只会越混越穷,一辈子也翻不了身(职场人改不掉这4个习惯)
热门推荐
- docker重新加载nginx(Docker Nginx Log 三者的处理详解)
- docker启动nginx容器命令(Docker安装Nginx教程实现图例讲解)
- mysqlworkbench怎么设置连接(详解MySQL Workbench使用教程)
- ftp服务器两种连接方式(FTP服务器 架设考虑三方面的安全因素)
- python图片识别文字代码(python批量识别图片指定区域文字内容)
- python数据存取(python异步存储数据详解)
- laravel 数据库迁移(Laravel数据库读写分离配置的方法)
- mongodb简单介绍和安装
- php定时执行PHP(Cpanel下Cron Jobs定时执行PHP的方法)
- docker 更新容器到镜像(Docker容器如何更新打包并上传到阿里云)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9