在 docker 中更改 JAVA_HOME [英] Change JAVA_HOME in docker
问题描述
我想要 dockerise 的旧版 Web 应用程序使用了一些旧类,例如 com/sun/image/codec/jpeg/ImageFormatException
,这些类在 Java SE7 之前一直受支持.现在在 docker 容器中默认 jdk 获取(在安装 tomcat-6 容器时)是
The legacy web application which I want to dockerise uses some old classes like com/sun/image/codec/jpeg/ImageFormatException
which were supported till Java SE7.
Now in the docker container default jdk getting (on installing tomcat-6 container) is
java version "1.7.0_131"
OpenJDK Runtime Environment (IcedTea 2.6.9) (7u131-2.6.9-2~deb8u1)
OpenJdk 不支持这些类
OpenJdk doesn't support these classes
我使用update-alternatives
来安装Oracle Jdk7.80
I used update-alternatives
to install Oracle Jdk7.80
加载容器后,给 java -version
我得到 p>
After loading container, on giving java -version
I am getting
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
然而,echo $JAVA_HOME
进入容器后给出了 /docker-java-home/jre
再次指向 OpenJdk.如何将 JAVA_HOME
设置为我安装的 Oracle Jdk 主目录?
However, echo $JAVA_HOME
after entering the container gives /docker-java-home/jre
which again points to OpenJdk. How can I set JAVA_HOME
to the Oracle Jdk home that I installed?
推荐答案
您可以使用 Dockerfile 中的 ENV
命令简单地设置/更改 docker 镜像的环境变量:
You can simply set/change environment variables of your docker image by using the ENV
command in your Dockerfile:
ENV JAVA_HOME /path/to/java
这篇关于在 docker 中更改 JAVA_HOME的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!