Docker运行Alpine容器外部导入的JRE时提示java命令找不到 #
问题描述 #
- jenkins (in docker) - 配置全局工具 - jdk - 自定义下载地址(文件来源于 oracle jdk-8u361-linux-x64.tar.gz)
- 配置完成后,测试 jenkins pipeline - 使用 tools(jdk8 和 maven3)
- 执行 mvn 时,报错,提示未找到 java 命令
- 检查 JAVA_HOME 环境变量,正确
- 检查 jenkins docker 容器,java 文件存在
报错原因 #
- jenkins 使用的镜像基于 Alpine Linux
- alpine 镜像使用的动态链接库不是 gun libc,而是 musl libc,无法启动下载的基于 gun libc 的二进制文件
解决方法 1 #
jenkins 镜像改用其他镜像
解决方法 2 #
jdk 包换成适配 Alpine Linux 的包
详细步骤:
- 进入下载页面: https://bell-sw.com/pages/downloads/#/java-17-lts (Spring官方推荐) 或者 https://adoptium.net/zh-CN/temurin/releases/ (Eclipse出品)
- 操作系统选择 Alpine Linux
- 下载所需版本的 jdk 包