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

 更新时间:2021年03月29日 14:31:29   作者:唐宋xy  
这篇文章主要介绍了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清理命令之如何删除所有的镜像和容器问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • docker安装nacos并配置数据库的全过程

    docker安装nacos并配置数据库的全过程

    这篇文章主要给大家介绍了关于docker安装nacos并配置数据库的相关资料, Nacos是SpringCloudAlibaba架构中最重要的组件,Nacos 是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台,文中介绍的非常信息,需要的朋友可以参考下
    2023-09-09
  • Dockerfile的CMD指令用法

    Dockerfile的CMD指令用法

    这篇文章主要介绍了Dockerfile的CMD指令用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Linux环境下使用Docker搭建Jenkins容器的方法步骤

    Linux环境下使用Docker搭建Jenkins容器的方法步骤

    本文主要介绍了Linux环境下使用Docker搭建Jenkins容器的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 基于Harbor构建docker私有仓库的方法

    基于Harbor构建docker私有仓库的方法

    这篇文章主要介绍了Harbor构建docker私有仓库的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • Windows Server 2012 R2 安装 Docker的详细步骤

    Windows Server 2012 R2 安装 Docker的详细步骤

    这篇文章主要介绍了Windows Server 2012 R2 安装 Docker,在这个给大家说明下使用windows10、Windows Server 2016以上系统可直接使用安装包,低版本系统需要使用 Docker Toolbox 来进行安装使用 Docker,需要的朋友可以参考下
    2022-04-04
  • Docker部署nginx+php环境的全过程(简单可用!)

    Docker部署nginx+php环境的全过程(简单可用!)

    最近在学docker,顺便配置了一下docker中的nginx与php,发现网上的关于docker中配置nginx与php的资料很少,而且有的也很旧,没有太多的参考性,下面这篇文章主要给大家介绍了关于Docker部署nginx+php环境的相关资料,需要的朋友可以参考下
    2023-02-02
  • 一文带你快速了解和使用Docker

    一文带你快速了解和使用Docker

    本文对 Docker 进行全面阐述,详细介绍 Docker 的作用、其基本使用,如常用命令、Dockerfile 的作用及使用、Docker Compose 的作用及使用,感兴趣的同学跟着小编一起来学习吧
    2023-05-05
  • Docker.v19安装和配置Docker Compose编排工具的方法

    Docker.v19安装和配置Docker Compose编排工具的方法

    这篇文章主要介绍了安装Docker.v19和配置Docker Compose编排工具的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2020-06-06
  • Docker上部署mysql8主从复制的实现

    Docker上部署mysql8主从复制的实现

    本文主要介绍了Docker上部署mysql8主从复制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08

最新评论