# Alpinelinux with a glibc-2.26-r0 and Oracle Java 7
From alpine:3.6
Maintainer Anastas Dancha <[email protected]>
# Thanks to Vladimir Krivosheev <[email protected]> aka @develar for smaller image
# and Victor Palma <[email protected]> aka @devx for pointing it out
# Java Version and other ENV
ENV java_version_major=7 \
JAVA_VERSION_MINOR=80 \
JAVA_VERSION_BUILD=15 \
JAVA_PACKAGE=SERVER-JRE \
Java_jce=standard \
JAVA_HOME=/OPT/JDK \
Path=${path}:/opt/jdk/bin \
GLIBC_REPO=HTTPS://GITHUB.COM/SGERRAND/ALPINE-PKG-GLIBC \
GLIBC_VERSION=2.26-R0 \
Lang=c.utf-8
# 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 && \
APK add libstdc++ Curl ca-certificates bash java-cacerts && \
For pkg in glibc-${glibc_version} glibc-bin-${glibc_version} glibc-i18n-${glibc_version}; Do Curl-ssl ${glibc_repo}/releases/download/${glibc_version}/${pkg}.apk-o/tmp/${pkg}.apk; Done && \
apk add--allow-untrusted/tmp/*.apk && \
Rm-v/tmp/*.apk && \
(/usr/glibc-compat/bin/localedef--force--inputfile POSIX--charmap UTF-8 c.utf-8 | | true) && \
echo "Export Lang=c.utf-8" >/etc/profile.d/locale.sh && \
/usr/glibc-compat/sbin/ldconfig/lib/usr/glibc-compat/lib && \
Mkdir/opt && \
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} /${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 && \
find/opt/jdk/-maxdepth 1-mindepth 1 | Grep-v JRE | Xargs RM-RF && \
cd/opt/jdk/&& ln-s./jre/bin./bin && \
if ["${java_jce}" = = "unlimited"]; Then echo "Installing Unlimited JCE policy" && \
CURL-JKSSLH "Cookie:oraclelicense=accept-securebackup-cookie"-o/tmp/jce_policy-${java_version_major}.zip \
Http://download.oracle.com/otn-pub/java/jce/${java_version_major}/jce_policy-${java_version_major}.zip & & \
cd/tmp && unzip/tmp/jce_policy-${java_version_major}.zip && \
Cp-v/tmp/unlimitedjcepolicyjdk8/*.jar/opt/jdk/jre/lib/security/; \
Fi && \
Sed-i s/#networkaddress. cache.ttl=-1/networkaddress.cache.ttl=10/$JAVA _home/jre/lib/security/java.security & & \
APK del Curl glibc-i18n && \
Rm-rf/opt/jdk/jre/plugin \
/opt/jdk/jre/bin/javaws \
/OPT/JDK/JRE/BIN/JJS \
/OPT/JDK/JRE/BIN/ORBD \
/OPT/JDK/JRE/BIN/PACK200 \
/opt/jdk/jre/bin/policytool \
/opt/jdk/jre/bin/rmid \
/opt/jdk/jre/bin/rmiregistry \
/opt/jdk/jre/bin/servertool \
/opt/jdk/jre/bin/tnameserv \
/OPT/JDK/JRE/BIN/UNPACK200 \
/opt/jdk/jre/lib/javaws.jar \
/opt/jdk/jre/lib/deploy* \
/opt/jdk/jre/lib/desktop \
/opt/jdk/jre/lib/*javafx* \
/opt/jdk/jre/lib/*jfx* \
/opt/jdk/jre/lib/amd64/libdecora_sse.so \
/opt/jdk/jre/lib/amd64/libprism_*.so \
/opt/jdk/jre/lib/amd64/libfxplugins.so \
/opt/jdk/jre/lib/amd64/libglass.so \
/opt/jdk/jre/lib/amd64/libgstreamer-lite.so \
/opt/jdk/jre/lib/amd64/libjavafx*.so \
/opt/jdk/jre/lib/amd64/libjfx*.so \
/opt/jdk/jre/lib/ext/jfxrt.jar \
/opt/jdk/jre/lib/ext/nashorn.jar \
/opt/jdk/jre/lib/oblique-fonts \
/opt/jdk/jre/lib/plugin.jar \
/tmp/*/var/cache/apk/* && \
Ln-sf/etc/ssl/certs/java/cacerts $JAVA _home/jre/lib/security/cacerts && \
Echo ' Hosts:files mdns4_minimal [notfound=return] DNS mdns4 ' >>/etc/nsswitch.conf
Docker--dockerfile--java