使用docker安装java 8的最佳方法是什么?
我有一个dockerfile,从下面一行开始
FROM java:8
我以为这应该从docker容器registry中拉出图像,并安装。 没有?
当我在我的容器中运行java命令时,我得到以下错误
ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
使用docker安装java 8(openjdk版本)的最简单和最好的方法是什么?
更新:
RUN apt-get install -y --no-install-recommends software-properties-common RUN add-apt-repository -y ppa:openjdk-r/ppa RUN apt-get update RUN apt-get install -y openjdk-8-jdk RUN apt-get install -y openjdk-8-jre RUN update-alternatives --config java RUN update-alternatives --config javac
也许你错过了一些东西。 8
标签或8-jdk
工作正常:
$ docker run -ti java:8-jdk root@ea4ae4cf642e:/# echo $JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
您也可以通过查看Dockerfile来validation它是否确实定义了JAVA_HOME
。 例如,请参阅java:8 Dockerfile
另外,Dockerfile最简单的forms当然会评估为相同的结果。 即:
FROM java:8-jdk CMD ["/bin/bash"]
并按以下方式build设:
$ docker build -t myjava .
然后,执行它:
$ docker run -ti myjava:latest bash root@3c35f7d2d94a:/# echo $JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64