因为项目中用到的java是1.8的,然而tarsnode镜像里面的jdk是11,太高了导致运行出错,所以我就在tarsnode的镜像基础上,加入了jdk1.8,并修改了默认的环境变量,还删掉了原先的jdk11,我是用dockercompose来弄的,以下是我的dockerfile内容:
FROM tarscloud/tars-node:latest
MAINTAINER pkk
ADD jdk-8u141-linux-x64.tar.gz /usr/lib/jvm/
ENV JAVA_HOME /usr/lib/jvm/jdk1.8.0_141
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin
RUN update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_141/bin/java 300
RUN update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_141/bin/javac 300
RUN update-alternatives --remove java /usr/lib/jvm/java-11-openjdk-amd64/bin/java
我这里将jdk-8的安装包放在我的dockerfile文件同级目录,然后才运行此命令:
docker build -t tarscloud/tars-node:jdk1.8-2.4.13 . -f jdkdockerfile
这样包含jdk1.8的tarsnode就做好了。