# AlpineLinux with a glibc-2.28-r0 and Oracle Java 8
FROM hub.devops.docker.com/library/alpine-glibc:v2.28-r0
MAINTAINER xxxxx <xxxxx@163.com>
# Java Version and other ENV
ENV JAVA_VERSION_MAJOR=8
JAVA_VERSION_MINOR=172
JAVA_VERSION_BUILD=11
JAVA_PACKAGE=jdk
HOTSWAP_AGENT_VERSION=1.2.0
JAVA_JCE=standard
JAVA_HOME=/opt/jdk
PATH=${PATH}:/opt/jdk/bin
# do all in one step
RUN set -ex &&
[[ ${JAVA_VERSION_MAJOR} != 7 ]] || ( echo >&2 'Oracle no longer publishes JAVA7 packages' && exit 1 ) &&
apk -U upgrade &&
mkdir /tmp/dcevm &&
curl -L -o /tmp/dcevm/DCEVM-light-8u112-installer.jar "https://github.com/dcevm/dcevm/releases/download/light-jdk8u112%2B8/DCEVM-light-8u112-installer.jar" &&
curl -jksSLH "Cookie: oraclelicense=accept-securebackup-cookie" -o /tmp/java.tar.gz
http://download.oracle.com/otn-pub/java/jdk/${JAVA_VERSION_MAJOR}u${JAVA_VERSION_MINOR}-b${JAVA_VERSION_BUILD}/a58eab1ec242421181065cdc37240b08/${JAVA_PACKAGE}-${JAVA_VERSION_MAJOR}u${JAVA_VERSION_MINOR}-linux-x64.tar.gz &&
JAVA_PACKAGE_SHA256=$(curl -sSL https://www.oracle.com/webfolder/s/digest/${JAVA_VERSION_MAJOR}u${JAVA_VERSION_MINOR}checksum.html | grep -E "${JAVA_PACKAGE}-${JAVA_VERSION_MAJOR}u${JAVA_VERSION_MINOR}-linux-x64.tar.gz" | grep -Eo '(sha256: )[^<]+' | cut -d: -f2 | xargs) &&
echo "${JAVA_PACKAGE_SHA256} /tmp/java.tar.gz" > /tmp/java.tar.gz.sha256 &&
sha256sum -c /tmp/java.tar.gz.sha256 &&
gunzip /tmp/java.tar.gz &&
tar -C /opt -xf /tmp/java.tar &&
ln -s /opt/jdk1.${JAVA_VERSION_MAJOR}.0_${JAVA_VERSION_MINOR} /opt/jdk &&
cd /tmp/dcevm &&
unzip DCEVM-light-8u112-installer.jar &&
mkdir -p /opt/jdk/jre/lib/amd64/dcevm &&
cp linux_amd64_compiler2/product/libjvm.so /opt/jdk/jre/lib/amd64/dcevm/libjvm.so &&
mkdir -p /opt/hotswap-agent/ &&
curl -L -o /opt/hotswap-agent/hotswap-agent-${HOTSWAP_AGENT_VERSION}.jar "https://github.com/HotswapProjects/HotswapAgent/releases/downl