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 否则进入到容器中还是提示没有权限修改

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • docker安装tomcat并部署Springboot项目war包的方法

    说来也简单,直接上教程吧,博主 1.首先在启动docker service docker start 2.拉取tomcat镜像. docker pull tomcat:8-jdk8 如果不加后面的8-jdk8  标签的话,会默认拉取latest,也就是最新的官方版本 3.安装完成后,做作容器,并启动tomcat docker run --name tomcat -p 8080:8080 如果正常安装后访问ip+端口出现404情况,进入tomcat目录,把原有webapps目录删除,并把webap

  • Docker Nginx容器和Tomcat容器实现负载均衡与动静分离操作

    下载Tomcat8镜像 [root@localhost ~]# docker search tomcat8 NAME DESCRIPTION STARS OFFICIAL AUTOMATED ashince/tomcat8 Tomcat GUI Manager pre-configured docker ima- 5 podbox/tomcat8 2 [OK] 这个tomcat包含了jdk而且启动了可以直接访问,自己启动了8080端口 [root@localhost ~]# docker pul

  • Docker Tomcat为何看不到访问界面

    问题:源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示? 开门见山: 说白了就是最新的Tomcat8.5版本的webapps下无欢迎页 Docker内的webapps目录 Tomcat7.0下的目录 怎么才看看到小猫呢 1.Docker内下载7.0版本的Tomcat 2.自己制作新的镜像(初学者可以尝试一下) 到此这篇关于Docker Tomcat为何看不到访问界面的文章就介绍到这了,更多相关Docker Tomcat访问内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家

  • docker安装tomcat8的实现方法

    一.docker安装tomcat8 1.查找Docker Hub上的tomcat镜像 docker search tomcat 2.拉取tomcat镜像 docker pull tomcat:8 3.使用tomcat默认的配置来启动一个tomcat容器 docker run -d -p 8080:8080 --name tomcat tomcat:8 4.拷贝容器内tomcat配置文件和日志到本地准备映射 docker cp tomcat:/usr/local/tomcat/conf /usr/

  • Docker容器上用DockerFile部署多个tomcat服务的步骤

    1. [admin@JD ~]$ cd opt #进入根目录下的opt 里 2. [admin@JD opt]$ mkdir web #创建Web 文件夹 3. [admin@JD web]$ cd web/ #进入web文件夹 4. [admin@JD web]$ touch Dockerfile #创建一个Dockerfile文件夹 名字不能错必须是这个名字否者检测不到 5. 利用三方工具将 tomcat 和 jdk的 上传到Web文件夹 6. [admin@JD web]$ vim Doc

  • Docker方式启动tomcat访问首页出现404错误

    场景: 在docker启动tomcat(版本是从阿里云上拉下的:8.5.50)时,访问tomcat首页时出现404错误,在网上找了许多教程,也没有解决,最后在视频讲解中查看到了问题(不知道是不是我拉下来版本的问题) 具体情况: 使用命令: docker exec -it 运行的tomcat容器ID /bin/bash 进入到tomcat的目录 进入webapps文件夹,发现里面是空的(tomcat默认的欢迎页面实际上放在的路径应该是:webapps/ROOT/index.jsp或者index.h

  • Docker安装Tomcat、MySQL和Redis的步骤详解

    总体步骤 Docker安装Tomcat docker hub上查找tomcat镜像 docker search tomcat 从docker hub上拉取tomcat镜像到本地 docker pull tomcat docker images查看是否有拉取到的tomcat 使用tomcat镜像创建容器(运行镜像) docker run -it -p 8080:8080 tomcat -p 主机端口:docker容器端口 -P 随机分配端口 i:交互 t:终端 Docker安装MySQL dock

  • Docker tomcat的设置内存大小配置方式

    安装再docker中的tomcat,在下载大文件或者某些情况下,会出现tomcat的内存溢出等情况,所以需要配置tomcat的内存大小,docker中的tomcat内存大小配置有两种方式: 一.挂载docker中的配置文件 通过将docker中tomcat的catalina.sh配置文件挂载到宿主机中,然后再catalina.sh配置jvm内存大小即可. 1.需要重新运行一个tomcat容器(注意: 端口和容器名称不能重复) docker run -d \ -v /server/webapps:

  • IntelliJ IDEA设置显示内存指示器和设置内存大小的方法

    一.设置显示内存指示器 idea默认情况下,是不显示当前内存使用情况的,可以通过设置让其显示,方法如下: 打开Preferences-->Appearance & Behavior-->Appearance,右侧勾选Window Options下面的Show memory indicator即可.如下图: [外链图片转存失败(img-uHIFk4f0-1568595892191)(images/04_01.png)] 设置好之后,在idea右下角会出现展示内存信息指示器,显示当前使用的

  • IntelliJ IDEA修改内存大小,使得idea运行更流畅

    idea有个配置文件,可以设置内存大小的,就跟咱的jvm的内存里面的堆大小,栈大小等等,可以设置的,而且设置了之后,你这个的性能就会得到提升.具体看下面怎么修改. 先说所要修改的文件 idea.vmoptions 的位置,这个不同的平台,估计名称可能有些差别.mac的如下图 具体怎么找到这个地方的,刚刚使用mac的估计不会,老手就会啦, option + cmd + P    隐藏或显示"访达"窗口中的路径栏 这个就是显示我上图的地步的那个路径,然后你就可以像Windows那样点点点到

  • IDEA设置JVM可分配内存大小和其他参数的教程

    有时我们会遇到 java.lang.OutOfMemoryError 的问题,可能会需要设置jvm运行参数 作用 -Dproperty=Value 该参数通常用于设置系统级全局变量值,如配置文件路径,保证该属性在程序中任何地方都可访问.当然,也可以通过在程序中使用System.setProperty进行设置. 注意: 1.如果-Dproperty=value的value中包含空格,可以将value使用引号引起来.例如:-Dmyname="hello world". 2.如果配置了-Dp

  • Linux和Windows中tomcat修改内存大小的方法

    其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4.可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置 实例,以下给出1G内存环境下java jvm 的参数设置参考: 复制代码 代码如下: JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M-XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "JAVA_O

  • Keras设定GPU使用内存大小方式(Tensorflow backend)

    通过设置Keras的Tensorflow后端的全局变量达到. import os import tensorflow as tf import keras.backend.tensorflow_backend as KTF def get_session(gpu_fraction=0.3): '''Assume that you have 6GB of GPU memory and want to allocate ~2GB''' num_threads = os.environ.get('OM

  • java启动如何设置JAR包内存大小

    目录 java启动设置JAR包内存大小 给自己的jar包运行时分配内存大小 JVM的一些参数设置 总结 java启动设置JAR包内存大小 亲测可用! java -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M -jar a.jar -Xms256m -Xmx512m: 对象使用的内存,也称堆内存 PermSize 类使用的内存,也称永久内存 由于Spring-boot内置tomcat,默认内存占用可能很大,最好设置下jar启动占用的

  • android开发教程之用命令启动android模拟器并设置其内存大小

    用命令启动android模拟器并设置其内存大小的代码 在终端里输入 复制代码 代码如下: emulator -avd Android2.3 -partition-size 512

  • 如何将Pycharm中调整字体大小的方式设置为"ctrl+鼠标滚轮上下滑"

      对于字体大小的调整,我们比较习惯的方式是ctrl+鼠标滚轮上下滑,这也是我们在大多数软件中对页面进行放大缩小的方式.但当我发现Pycharm中的字体偏小想要进行调整时,却发现使用ctrl+鼠标滚轮上下滑的方式没有反应.经过搜索查询发现,我们可以将Pycharm中的字体调整方式设置为ctrl+鼠标滚轮上下滑的方式,这是非常nice的!下面介绍一下设置过程,分为字体放大的设置与字体缩小的设置两个部分. Pycharm字体放大的设置    第一步:File → \rightarrow →Setti

  • 5分钟教你docker安装启动redis全教程(全新方式)

    什么是redis 根据百度百科介绍,Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.是一个高性能(NOSQL)Key-Value数据库,并提供多种语言的API,redis也是完全开源免费的,遵守BSD协议. 什么又是NOSQL NOSQL,泛指非关系型的数据库,提到非关系型的数据库,我们就来简单讲讲关系型数据库,关系型数据库,大家都知道的oracle,mysql,postgre等都是关

随机推荐