运行Hadoop Docker容器报错:JAVA_HOME路径不存在的问题咨询
解决Hadoop Docker容器JAVA_HOME不存在的问题
必须修改Dockerfile里的JAVA_HOME配置,不需要改动本地Mac的JDK环境——Docker容器是完全独立的运行环境,和你本地的JDK没有任何关联,容器报错找不到的路径是容器内部的路径,跟本地环境无关。
具体操作步骤:
- 找到课程提供的Dockerfile,打开后定位设置
JAVA_HOME的行(类似ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64) - 先检查Dockerfile里是否包含OpenJDK 8的安装命令:
- 如果是Debian/Ubuntu系基础镜像,添加安装命令:
RUN apt-get update && apt-get install -y openjdk-8-jdk - 如果是CentOS/RHEL系基础镜像,添加安装命令:
RUN yum install -y java-1.8.0-openjdk-devel
- 如果是Debian/Ubuntu系基础镜像,添加安装命令:
- 修改
JAVA_HOME的路径为容器内实际安装的JDK路径,比如安装后通常是/usr/lib/jvm/java-1.8.0-openjdk-amd64(不确定的话,可在构建镜像后进入容器,用update-alternatives --config java查看准确路径) - 重新构建镜像:
docker build -t psu-hadoop .(确保命令在Dockerfile所在目录执行) - 再重新运行你原来的容器启动命令即可
内容的提问来源于stack exchange,提问作者dan
相关产品推荐
相关产品推荐

