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

运行Docker容器时提示‘java not found’错误的排查求助

问题分析与解决方案

错误原因

  1. CMD指令语法错误:你的CMD ["java" "-jar", "/tmp/abc.jar"]中,数组元素java和-jar之间缺少逗号分隔符。Docker会将这个错误的数组解析为一个整体命令,系统找不到名为[java -jar的可执行文件,因此抛出/bin/sh: 1: [java: not found的错误。
  2. 冗余的多阶段构建指令:FROM centos:centos7是多阶段构建的第一个阶段,但后续没有引用该阶段的任何内容,属于完全多余的指令,只会增加构建的不必要开销。

修正后的Dockerfile

FROM adoptopenjdk/openjdk8:jre8u352-b05-ea-ubuntu-nightly

EXPOSE 8080

WORKDIR /home/centos

COPY ./abc.jar /tmp/abc.jar

CMD ["java", "-jar", "/tmp/abc.jar"]

验证步骤

  • 重新构建镜像:docker build -t your-image-name .
  • 运行容器:docker run -p 8080:8080 your-image-name

adoptopenjdk镜像确实已配置好Java环境变量,只要CMD语法正确就能正常找到java命令启动应用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 08:55:23