Docker Tip #7 - Create a base Java image

In the previous blog entry we created a base Alpine GLibC image which we can now use to create our base Java image.


FROM your_docker_registry_location/alpine-glibc:3.4

ENV JAVA_VERSION=8 \
    JAVA_UPDATE=101 \
    JAVA_HOME="/usr/lib/jvm/default-jvm"

RUN apk add --no-cache --virtual=build-dependencies wget ca-certificates && \
    cd "/tmp" && \
    wget http://your_jdk_download_location/jdk-${JAVA_VERSION}u${JAVA_UPDATE}-linux-x64.tar.gz && \
    tar -xzf "jdk-${JAVA_VERSION}u${JAVA_UPDATE}-linux-x64.tar.gz" && \
    mkdir -p "/usr/lib/jvm" && \
    mv "/tmp/jdk1.${JAVA_VERSION}.0_${JAVA_UPDATE}" "/usr/lib/jvm/java-${JAVA_VERSION}-oracle" && \
    ln -s "java-${JAVA_VERSION}-oracle" "$JAVA_HOME" && \
    ln -s "$JAVA_HOME/bin/"* "/usr/bin/" && \
    apk del build-dependencies && \
    rm "/tmp/"*      
        

Note the above Dockerfile is a template that you can use, but you will have to fill in "your_docker_registry_location" and "your_jdk_download_location".

Posted August 31, 2016

Up