mirror of
https://gitee.com/kennylee/docker.git
synced 2024-12-02 03:48:15 +08:00
优化java的alpine镜像
This commit is contained in:
parent
abcc251289
commit
db0f0dcdf4
@ -2,6 +2,9 @@ FROM anapsix/alpine-java:7_server-jre
|
||||
|
||||
MAINTAINER kennylee26 <kennylee26@gmail.com>
|
||||
|
||||
# 使用阿里云镜像
|
||||
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
|
||||
|
||||
# Install base packages
|
||||
RUN apk --no-cache update && \
|
||||
apk --no-cache upgrade && \
|
||||
|
@ -1,86 +1,18 @@
|
||||
FROM registry.cn-hangzhou.aliyuncs.com/kennylee/alpine
|
||||
FROM anapsix/alpine-java:8_server-jre
|
||||
|
||||
MAINTAINER kennylee26 <kennylee26@gmail.com>
|
||||
|
||||
####### Install Java
|
||||
# see also https://github.com/anapsix/docker-alpine-java
|
||||
# 使用阿里云镜像
|
||||
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
|
||||
|
||||
# Java Version and other ENV
|
||||
ENV JAVA_VERSION_MAJOR=8 \
|
||||
JAVA_VERSION_MINOR=211 \
|
||||
JAVA_VERSION_BUILD=12 \
|
||||
JAVA_PACKAGE=server-jre \
|
||||
JAVA_PACKAGE_DIR_SUFF=478a62b7d4e34b78b671c754eaaf38ab \
|
||||
JAVA_JCE=standard \
|
||||
JAVA_HOME=/opt/jdk \
|
||||
PATH=${PATH}:/opt/jdk/bin \
|
||||
GLIBC_REPO=https://github.com/sgerrand/alpine-pkg-glibc \
|
||||
GLIBC_VERSION=2.29-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 && \
|
||||
wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub && \
|
||||
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 /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_DIR_SUFF}/${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
|
||||
|
||||
# EOF
|
||||
# Install base packages
|
||||
RUN apk --no-cache update && \
|
||||
apk --no-cache upgrade && \
|
||||
apk --no-cache add curl bash tzdata tar unzip && \
|
||||
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
|
||||
echo "Asia/Shanghai" > /etc/timezone && \
|
||||
echo -ne "Alpine Linux 3.8 image. (`uname -rsv`)\n" >> /root/.built && \
|
||||
rm -fr /tmp/* /var/cache/apk/*
|
||||
|
||||
# Define commonly used JAVA_HOME variable
|
||||
ENV JAVA_HOME "/opt/jdk"
|
||||
|
Loading…
Reference in New Issue
Block a user