You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Ballerina构建Docker原生镜像时遇错误求助

使用GraalVM构建Ballerina原生镜像时Docker构建失败

问题详情

按照官方文档尝试用GraalVM原生镜像编译器构建Ballerina应用,在Docker镜像构建阶段失败,涉及内存不足、GraalVM模块警告以及依赖冲突三类问题。

错误日志

> [build 4/4] RUN sh build-native.sh my_service.jar my_service:
#0 3.676 WARNING: Unknown module: org.graalvm.nativeimage.llvm specified to --add-exports
#0 3.678 WARNING: Unknown module: org.graalvm.nativeimage.llvm specified to --add-exports
#0 3.680 WARNING: Unknown module: org.graalvm.nativeimage.llvm specified to --add-exports
#0 59.74 ========================================================================================================================
#0 59.74 GraalVM Native Image: Generating 'my_service' (executable)...
#0 59.76 ========================================================================================================================
#0 75.84 Error: Image build request failed with exit status 137
------
ERROR: failed to solve: executor failed running [/bin/sh -c sh build-native.sh my_service.jar my_service]: exit code: 137
error [k8s plugin]: module [wso2/my_service:0.1.0] docker build failed. refer to the build log
        warning: Detected conflicting jar files:
                'ballerina-rt-2201.4.0.jar' dependency of 'wso2/my_service' conflict with 'opentelemetry-api-1.0.0.jar' dependency of 'ballerinax/jaeger'

环境信息

  • JDK: 11.0.18 (arm64) "Eclipse Adoptium" - "OpenJDK 11.0.18"
  • GraalVM: graalvm-ce-java11-darwin-aarch64-22.3.1

解决方法

1. 修复内存不足问题(exit status 137)

exit code 137表示进程因内存不足被系统杀死,GraalVM构建原生镜像需要大量内存:

  • 本地Docker环境:打开Docker设置,把可用内存调整到8GB以上(推荐10GB)
  • CI/CD环境:给构建节点分配至少8GB内存资源,确保GraalVM构建过程有足够内存

2. 处理GraalVM模块警告

org.graalvm.nativeimage.llvm模块不存在的警告不影响构建成功,若要消除:

  • 检查build-native.sh脚本中的--add-exports参数,移除所有涉及org.graalvm.nativeimage.llvm的配置项

3. 解决依赖冲突

ballerina-rt和opentelemetry-api的版本冲突需要调整依赖:

  • 更新ballerinax/jaeger的版本,确保它与当前使用的Ballerina runtime(2201.4.0)兼容
  • 或者在项目的Ballerina.toml中添加依赖排除规则,排除冲突的opentelemetry-api版本,强制使用Ballerina runtime自带的版本

内容的提问来源于stack exchange,提问作者Arshika Mohottige

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 17:40:15