我想在Dockerfile
中使用docker multistage build从IBM ibmjava:latest
中提取Java映像并在我的映像中使用
REPOSITORY TAG IMAGE ID CREATED SIZE
ibmjava latest 8180a8f0188a 2 weeks ago 310 MB
使用多阶段操作
FROM ibmjava:latest AS IBMJAVA
这会将java
安装在/opt/ibm/java/jre/bin/java
中。
然后我应该将安装文件夹复制到我的映像中,例如
FROM ubuntu:18.04
COPY --from=IBMJAVA /opt/ibm/java /opt/ibm/java
这种方法正确吗?
注意
目前,我正在使用curl
来获取tar.gz
的Java
RUN curl https://myserver.com/jdk-9.0.1_linux-x64_bin.tar.gz > jdk-9.0.1_linux-x64_bin.tar.gz
RUN tar xvzf jdk-9.0.1_linux-x64_bin.tar.gz -C $ROOT && \
chown -R root:root jdk-9.0.1 && \
rm jdk-9.0.1_linux-x64_bin.tar.gz
ENV JAVA_HOME $ROOT/jdk-9.0.1
ENV PATH $PATH:$JAVA_HOME/bin/