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

Trino Testcontainer在Docker 19.x启动失败,20.x正常的问题咨询

问题分析:Docker 19.03.8中Trino Testcontainer启动失败报“Java is not installed”

核心结论

大概率是Docker版本差异导致的问题。尽管Testcontainers官方标注最低支持Docker v17.09,但Trino镜像的启动逻辑可能依赖更高版本Docker的特性,导致在19.03.8中无法正常识别内置的Java环境。

原因分析

  1. 镜像本身自带Java:Trino官方镜像(trinodb/trino:latest)默认内置Java运行环境,报错提示“Java is not installed”并非镜像缺失Java,而是启动脚本无法正确检测到Java。
  2. Docker版本底层差异:Docker 19.03.x与20.10.x之间存在容器命名空间、文件系统挂载、环境变量传递等底层特性变化,这些差异可能导致Trino启动脚本的Java检测逻辑失效。
  3. 镜像隐性版本依赖:Trino最新镜像可能未明确标注,但实际隐性依赖较高版本的Docker特性,超出了Testcontainers的最低兼容范围。

解决方案

  • 升级Docker版本:直接升级到Docker 20.10.x及以上版本(已验证该版本可正常运行),是最直接的解决方式。
  • 指定旧版Trino镜像:若无法升级Docker,尝试使用Trino旧版本镜像(如trinodb/trino:400),这类镜像的启动逻辑可能兼容Docker 19.03.x。
  • 检查Testcontainers配置:确认是否存在自定义挂载目录覆盖了镜像内Java相关路径,或修改了容器环境变量,导致Java检测失败。

相关报错日志

D:2022-11-16 09:30:47.809 L:ERROR C:docker[trinodb/trino:latest] F:GenericContainer.java(531) Fn:tryStart T:main R: - Log output from the failed container:
11:30:55 11:30:55 + launcher_opts=(--etc-dir /etc/trino)
11:30:55 11:30:55 + grep -s -q node.id /etc/trino/node.properties
11:30:55 11:30:55 + launcher_opts+=("-Dnode.id=${HOSTNAME}")
11:30:55 11:30:55 + exec /usr/lib/trino/bin/launcher run --etc-dir /etc/trino -Dnode.id=e3cbef28ab27
11:30:55 11:30:55 ERROR: Java is not installed
11:30:55 11:30:55 11:30:55 11:30:55 [ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 160.744 s <<< FAILURE! - in com.radcom.queryexecutor.integration.TrinoIntegrationTest
11:30:55 11:30:55 [ERROR] com.radcom.queryexecutor.integration.TrinoIntegrationTest  Time elapsed: 160.743 s  <<< ERROR!
11:30:55 11:30:55 org.testcontainers.containers.ContainerLaunchException: Container startup failed
11:30:55 11:30:55 Caused by: org.rnorth.ducttape.RetryCountExceededException: Retry limit hit with exception
11:30:55 11:30:55 Caused by: org.testcontainers.containers.ContainerLaunchException: Could not create/start container
11:30:55 11:30:55 Caused by: java.lang.IllegalStateException: Container exited with code 4

内容的提问来源于stack exchange,提问作者Katia Solomon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 20:15:40