我正在使用tomcat,jre 8(openjdk),alpine linux作为基础映像。 我的Dockerfile如下:
FROM tomcat:8.5.39-jre8-alpine
RUN rm -rf /usr/local/tomcat/webapps/*
COPY target/openjdk8-8.252.09-r0.apk /usr/local/tomcat/.
RUN apk add --allow-untrusted /usr/local/tomcat/openjdk8-8.252.09-r0.apk
ENV JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
ENV PATH=/usr/local/tomcat/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-1.8-openjdk/bin
RUN export JAVA_HOME
RUN export PATH
我想用jdk8代替jre8。
为此,我下载了相同版本的JDK8并将其安装在alpine linux上。
COPY target/openjdk8-8.252.09-r0.apk /usr/local/tomcat/.
RUN apk add --allow-untrusted /usr/local/tomcat/openjdk8-8.252.09-r0.apk
为确保选择所需的java(JDK8),我设置了JAVA_HOME和PATH。
ENV JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
ENV PATH=/usr/local/tomcat/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-1.8-openjdk/bin
但是当我运行Tomcat时(当我运行容器时),
/usr/lib/jvm/java-1.8-openjdk/jre
已登录控制台,这意味着原始JRE仍在使用中。
我已阅读this one. 但是我不清楚他的意思。
是否有任何解决方法或任何使它起作用的方法? 还是我在哪里弄错了?
欢呼
答案 0 :(得分:0)
我在带有以下Docker的Docker映像中使用带有Alpine的OpenJDK8:
FROM alpine:3.11.3
ENV LANG=C.UTF-8 \
JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk \
PATH=$PATH:/usr/lib/jvm/java-1.8-openjdk/bin/
RUN set -x apk add --no-cache openjdk8