docker-compose 调整JVM参数

这篇具有很好参考价值的文章主要介绍了docker-compose 调整JVM参数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述:

服务器配置比较低,导致部署在docker里的微服务占用内存太大部分本奎,就想调整下jvm参数优化下,又网上很多调整JVM参数的方法不能用或者调整后不生效,参考多篇文章后总结一个方法。

推荐 使用解决方式2

解决方案1:

1、docker-compose.yml 里加上environment的配置,如下:

version : '2.1'
services:
  one-service:
    image: java:8
    volumes:
     - ./porject:/springboot
    privileged: true
    ports:
     - "21273:80"
    restart: always
    container_name: onne-service
    environment:
     - TZ=Asia/Shanghai
     - JAVA_OPTS=  #-XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms1024m -Xmx1024m -Xmn512m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70
    command:
     - /bin/bash
     - -c
     - |
       cd /springboot
       java  ${JAVA_OPTS} -jar spring-boot-1.0.jar 
    networks:
    - public_network

2、执行

docker-compose up -d one-service

启动之后,查看是否启动成功,可以执行如下命令:
1)进入容器:docker exec -it 容器ID bash
2)直接输入 top 命令,如显示如下说明成功了:docker-compose 调整JVM参数
1、如果没有显示JVM参数,
执行如下命令:

jps -v

如果JVM参数依然为默认参数的话就说明我们的配置没有生效,我们需要使用解决方案2来处理。

解决方案2

1、在启动类的位置新增一个文件: run.sh

vim run.sh

将如下内容添加进去并保存文件

#!/bin/sh
java ${JAVA_OPTS} -jar spring-boot-1.0.jar

2、修改一下 docker-compose.yml:

version : '2.1'
services:
  one-service:
    image: java:8
    volumes:
     - ./porject/dhis-base:/springboot
    privileged: true
    ports:
     - "21273:80"
    restart: always
    container_name: onne-service
    environment:
     - TZ=Asia/Shanghai
     - JAVA_OPTS=  #-XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms1024m -Xmx1024m -Xmn512m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70
    command:
     - /bin/bash
     - -c
     - |
       cd /springboot
       exec ./run.sh #使用脚本的方式启动项目,这样启动的话pid就不是1了
    networks:
    - public_network

PS: 如果启动报没有权限,给文件run.sh 赋权限,执行如下:
chmod -R 777 run.sh
2、执行 docker-compose up -d one-service 再次启动,进入容器:
在容器内执行:

jps -v

JVM参数已经变成我们自己设置的参数了
docker-compose 调整JVM参数
PS:
JVM调优常用命令去JVM调优常用命令页面查看。文章来源地址https://www.toymoban.com/news/detail-417316.html

到了这里,关于docker-compose 调整JVM参数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker-compose常见问题

    问题: 1.24.0以前可以network_mode: host和ports: xxx可以一起使用 解决: 更换新版本后,network_mode:是host的要去掉ports 问题: docker更换日志驱动为loki后,docker-compose启动容器出现告警 解决: 升级docker-compose版本,我这里从1.24.0升级到1.29.2就解决了 作者(Author):小强崽 来源(Source):http

    2024年02月15日
    浏览(43)
  • Docker部署RocketMQ5.x (单机部署+配置参数详解+不使用docker-compose直接部署)

    官网地址:https://rocketmq.apache.org/ 镜像地址: https://hub.docker.com/r/apache/rocketmq/tags 我在部署的时候最新发行版是5.1.0可以根据需求自行选择一个5.x的版本,部署流程不会有太大改变。 NameServer是一个简单的 Topic 路由注册中心,支持 Topic、Broker 的动态注册与发现,几乎无状态节点

    2024年02月06日
    浏览(76)
  • 【docker-compose】解决容器时区问题

            容器内时间比服务器慢8小时         容器时区默认 UTC 0          docker-compose.yaml 中设置时区

    2024年02月12日
    浏览(40)
  • docker-compose.yml报错问题

    ERROR: The Compose file \\\'./docker-compose.yml\\\' is invalid because: Invalid top-level property \\\"True\\\". Valid top-level sections for this Compose file are: version, services, networks, volumes, secrets, configs, and extensions starting with \\\"x-\\\". You might be seeing this error because you\\\'re using the wrong Compose file version. Either specify a supported vers

    2024年02月14日
    浏览(49)
  • 【Docker】Docker-Compose内置DNS负载均衡失效问题

    还是对前面的例子 docker-compose.yml 稍微修改: 主要是修改 flask-demo 启动3个容器。 nginx.conf 文件的内容如下: 启动服务: 访问服务: 从运行结果可以发现我们可以根据service的名称访问容器,Docker会使用内置的DNS服务器将service的名称解析成IP,如果service对应的容器有多个,

    2024年02月08日
    浏览(32)
  • yapi通过docker-compose安装遇到的问题

    docker无法访问外部网络 https://www.jianshu.com/p/f3ce460625fb iptables: No chain/target/match by that name service docker restart getaddrinfo EAI_AGAIN registry.npmjs.org docker内网络不通,默认docker通过桥接模式连接到宿主机,参考问题1进行解决 docker logs container_id 查看日志 https://blog.csdn.net/hshloveyy/article/de

    2024年02月06日
    浏览(48)
  • 【Docker】解决docker-compose启动的容器一直处于restarting状态的问题

    通过如下的文件启动容器后 status一直处于Restarting 且执行如下命令报错: 改成如下后解决 参考:https://stackoverflow.com/a/63990209

    2024年02月11日
    浏览(44)
  • docker-compose: command not found问题的两种常用方法

    Compose 定位是 「定义和运行多个 Docker 容器的应用(Defining and running multi-container Docker applications)」,其前身是开源项目 Fig。 在日常工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个 Web 项目,除了 Web 服务容器本身,往往还需要再加上后端的

    2024年02月11日
    浏览(41)
  • 执行docker- compose命令遇到-bash: /usr/local/bin/docker-compose: 无法执行二进制文件 问题的一种解决方法

    一、问题描述 当安装好docker-compose并添加执行权限后,执行命令docker-compose 相关命令时出现 -bash: /usr/local/bin/docker-compose: 无法执行二进制文件 二、解决思路 应该是安装包有问题,网上找了几种重新安装方法途径,还是会出现这个问题,最终找到一种可靠重新安装的解决方法

    2024年02月08日
    浏览(58)
  • docker-compose mongo 启动mongo容器后如何执行脚本创建用户数据库问题

    系统版本: 环境变量:Linux下必须export声明两个环境变量,注意这个账户同时也是创建的数据库的连接用户密码 目录:/home/user/docker-compose.yml 镜像:mongo:6.0.10 容器名:mongobss 挂载卷:data/db数据目录 start.sh后创建用户和库的脚本 环境变量:定义初始的mongo root角色用户 privil

    2024年02月04日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包