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

Abstracta JMeter DSL在Docker容器运行时抛出NoSuchFileException:/bin错误求助

Docker化Spring Boot + JMeter应用触发性能测试时报错排查

我开发了一个简单的Java Spring Boot应用,其中包含触发性能测试运行的控制器,本地运行时一切正常。但将应用Docker化后,触发该控制器时出现如下错误:

2023-10-13 23:44:36 java.nio.file.NoSuchFileException: /bin
2023-10-13 23:44:36     at jdk.zipfs/jdk.nio.zipfs.ZipPath.readAttributes(ZipPath.java:769)
2023-10-13 23:44:36     at jdk.zipfs/jdk.nio.zipfs.ZipPath.readAttributes(ZipPath.java:777)
2023-10-13 23:44:36     at jdk.zipfs/jdk.nio.zipfs.ZipFileSystemProvider.readAttributes(ZipFileSystemProvider.java:276)
2023-10-13 23:44:36     at java.base/java.nio.file.Files.readAttributes(Files.java:1851)
2023-10-13 23:44:36     at java.base/java.nio.file.FileTreeWalker.getAttributes(FileTreeWalker.java:220)
2023-10-13 23:44:36     at java.base/java.nio.file.FileTreeWalker.visit(FileTreeWalker.java:277)
2023-10-13 23:44:36     at java.base/java.nio.file.FileTreeWalker.walk(FileTreeWalker.java:323)
2023-10-13 23:44:36     at java.base/java.nio.file.FileTreeIterator.<init>(FileTreeIterator.java:71)
2023-10-13 23:44:36     at java.base/java.nio.file.Files.walk(Files.java:3918)
2023-10-13 23:44:36     at java.base/java.nio.file.Files.walk(Files.java:3973)
2023-10-13 23:44:36     at us.abstracta.jmeter.javadsl.core.engines.JmeterEnvironment.installConfig(JmeterEnvironment.java:98)
2023-10-13 23:44:36     at us.abstracta.jmeter.javadsl.core.engines.JmeterEnvironment.<init>(JmeterEnvironment.java:41)
2023-10-13 23:44:36     at us.abstracta.jmeter.javadsl.core.engines.EmbeddedJmeterEngine.run(EmbeddedJmeterEngine.java:93)
2023-10-13 23:44:36     at us.abstracta.jmeter.javadsl.core.DslTestPlan.run(DslTestPlan.java:125)
2023-10-13 23:44:36     at com.mtaf.managed_testing_services_core.services.JMeterTestService.runPerformanceTest(JMeterTestService.java:145)
2023-10-13 23:44:36     at com.mtaf.managed_testing_services_core.services.JMeterTestService.startPerformanceTest(JMeterTestService.java:110)
2023-10-13 23:44:36     at com.mtaf.managed_testing_services_core.background_jobs.JobService.runJMeterTest(JobService.java:29)
2023-10-13 23:44:36     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2023-10-13 23:44:36     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
2023-10-13 23:44:36     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2023-10-13 23:44:36     at java.base/java.lang.reflect.Method.invoke(Method.java:568)

以下是使用的Dockerfile:

FROM openjdk:17

COPY target/test-performance-api.jar /app/test-performance-api.jar

WORKDIR /app
ENTRYPOINT ["java", "-jar", "test-performance-api.jar", "--spring.profiles.active=test"]
EXPOSE 8080

我猜测是JMeter jar未被正确添加到容器环境中。已经尝试将应用构建为FatJar确保Apache JMeter可访问,但仍出现相同错误。目前想到两个方向:

  • 放弃使用Docker,但这样不具备可扩展性
  • 改用BlazeMeter或Azure相关方案

希望得到解决该问题的帮助。

内容的提问来源于stack exchange,提问作者Rajesh Iyer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 21:53:28