java - 如何在 Jenkins 官方 Docker 镜像中修改 Java 内存?
问题描述
我正在使用 jenkins 官方 docker 镜像
docker pull jenkins/jenkins:lts
我正在尝试优化 Xmx/Xms 内存配置,但没有成功。使用 JVM 选项运行容器会导致错误:
docker run jenkins/jenkins:lts --Xmx512m
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at Main._main(Main.java:375)
at Main.main(Main.java:151)
Caused by: java.lang.IllegalArgumentException: Unrecognized option: --Xmx512m
at winstone.cmdline.CmdLineParser.parse(CmdLineParser.java:52)
at winstone.Launcher.getArgsFromCommandLine(Launcher.java:371)
at winstone.Launcher.main(Launcher.java:342)
... 6 more
有任何想法吗 ?谢谢
解决方案
根据“传递 JVM 参数”文档使用 JAVA_OPTS 环境变量。您需要设置-Xmx
选项:
docker run --name myjenkins -p 8080:8080 -p 50000:50000 --env JAVA_OPTS=-Xmx1g jenkins/jenkins:lts
您可能需要自定义运行 Jenkins 的 JVM,通常是为了传递系统属性(道具列表)或调整堆内存设置。为此目的使用 JAVA_OPTS 环境变量:
推荐阅读
- javascript - 使用 Leaflet 地图时如何禁用两指网站滚动?
- d3.js - d3Force 的 d3.forceLink 错误:找不到节点:
- python - 使用 pydantic 组织数据
- python - 如何将ffmpeg输出的视频图像帧重定向到python脚本中的python列表?
- java - 识别来自 Heapdump 的内存泄漏 - 无法在 JProfiler 中查看来自 Heapdump 的分配
- rust - 如何使用 wasm-bindgen 调用作为模块的 JavaScript 函数?
- php - 使用 xhp-lib v4 和 hhvm v 4.81.1 运行最小应用程序会引发错误
- sql - 两个表中的 SQL 内连接只匹配一次
- sql - 萨斯-。SQL 格式
- flutter - 如何使用 dart/flutter 通过 UDP 流式传输麦克风音频?