tysonnorris commented on a change in pull request #3063: use alpine linux for 
base image
URL: 
https://github.com/apache/incubator-openwhisk/pull/3063#discussion_r163322524
 
 

 ##########
 File path: common/scala/Dockerfile
 ##########
 @@ -11,24 +8,68 @@ ENV VERSION 8
 ENV UPDATE 141
 ENV BUILD 15
 ENV SIG 336fa29ff2bb4ef291e347e091f7f4a7
+ENV GLIBC_VERSION 2.26-r0
 
 ENV JAVA_HOME /usr/lib/jvm/java-${VERSION}-oracle
 ENV JRE_HOME ${JAVA_HOME}/jre
 ENV PATH $JAVA_HOME/bin:$PATH
 
-RUN curl --silent --location --retry 3 --cacert 
/etc/ssl/certs/GeoTrust_Global_CA.pem \
-  --header "Cookie: oraclelicense=accept-securebackup-cookie;" \
-  
http://download.oracle.com/otn-pub/java/jdk/"${VERSION}"u"${UPDATE}"-b"${BUILD}"/"${SIG}"/jdk-"${VERSION}"u"${UPDATE}"-linux-x64.tar.gz
 \
-  | tar xz -C /tmp && \
-  mkdir -p /usr/lib/jvm && mv /tmp/jdk1.${VERSION}.0_${UPDATE} "${JAVA_HOME}" 
&& \
-  apt-get autoclean && apt-get --purge -y autoremove && \
-  rm -rf /tmp/* /var/tmp/*
-
-RUN update-alternatives --install "/usr/bin/java" "java" 
"${JRE_HOME}/bin/java" 1 && \
-  update-alternatives --install "/usr/bin/javac" "javac" 
"${JAVA_HOME}/bin/javac" 1 && \
-  update-alternatives --set java "${JRE_HOME}/bin/java" && \
-  update-alternatives --set javac "${JAVA_HOME}/bin/javac" && \
-  mkdir /logs
+
+RUN apk upgrade --update && \
+    apk add --update libstdc++ curl ca-certificates bash sed && \
+    update-ca-certificates && \
+    for pkg in glibc-${GLIBC_VERSION} glibc-bin-${GLIBC_VERSION} 
glibc-i18n-${GLIBC_VERSION}; do curl -sSL 
https://github.com/andyshinn/alpine-pkg-glibc/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=${LANG}" > /etc/profile.d/locale.sh && \
+    /usr/glibc-compat/sbin/ldconfig /lib /usr/glibc-compat/lib && \
+    curl --silent --location --retry 3 --header "Cookie: 
oraclelicense=accept-securebackup-cookie" \
+    
http://download.oracle.com/otn-pub/java/jdk/"${VERSION}"u"${UPDATE}"-b"${BUILD}"/"${SIG}"/jdk-"${VERSION}"u"${UPDATE}"-linux-x64.tar.gz
 \
+    | tar xz -C /tmp && \
+    mkdir -p /usr/lib/jvm && mv /tmp/jdk1.${VERSION}.0_${UPDATE} 
"${JAVA_HOME}" && \
+    rm -rf "$JAVA_HOME"/*src.zip \
+           "$JAVA_HOME"/lib/missioncontrol \
+           "$JAVA_HOME"/lib/visualvm \
+           "$JAVA_HOME"/lib/*javafx* \
+           "$JAVA_HOME"/jre/plugin \
+           "$JAVA_HOME"/jre/bin/javaws \
+           "$JAVA_HOME"/jre/bin/jjs \
+           "$JAVA_HOME"/jre/bin/orbd \
+           "$JAVA_HOME"/jre/bin/pack200 \
+           "$JAVA_HOME"/jre/bin/policytool \
+           "$JAVA_HOME"/jre/bin/rmid \
+           "$JAVA_HOME"/jre/bin/rmiregistry \
+           "$JAVA_HOME"/jre/bin/servertool \
+           "$JAVA_HOME"/jre/bin/tnameserv \
+           "$JAVA_HOME"/jre/bin/unpack200 \
+           "$JAVA_HOME"/jre/lib/javaws.jar \
+           "$JAVA_HOME"/jre/lib/deploy* \
+           "$JAVA_HOME"/jre/lib/desktop \
+           "$JAVA_HOME"/jre/lib/*javafx* \
+           "$JAVA_HOME"/jre/lib/*jfx* \
+           "$JAVA_HOME"/jre/lib/amd64/libdecora_sse.so \
+           "$JAVA_HOME"/jre/lib/amd64/libprism_*.so \
+           "$JAVA_HOME"/jre/lib/amd64/libfxplugins.so \
+           "$JAVA_HOME"/jre/lib/amd64/libglass.so \
+           "$JAVA_HOME"/jre/lib/amd64/libgstreamer-lite.so \
+           "$JAVA_HOME"/jre/lib/amd64/libjavafx*.so \
+           "$JAVA_HOME"/jre/lib/amd64/libjfx*.so \
+           "$JAVA_HOME"/jre/lib/ext/jfxrt.jar \
+           "$JAVA_HOME"/jre/lib/ext/nashorn.jar \
+           "$JAVA_HOME"/jre/lib/oblique-fonts \
+           "$JAVA_HOME"/jre/lib/plugin.jar \
+           /tmp/* /var/cache/apk/* && \
+    echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> 
/etc/nsswitch.conf && \
+    # https://github.com/anapsix/docker-alpine-java/issues/18#issue-167437838
+    # If you want to change the default values here, also change the values in 
042-set-jvm-ttl.sh
+    sed -i s/#networkaddress.cache.ttl=-1/networkaddress.cache.ttl=10/ 
${JAVA_HOME}/jre/lib/security/java.security && \
+    sed -i 
s/networkaddress.cache.negative.ttl=10/networkaddress.cache.negative.ttl=0/ 
${JAVA_HOME}/jre/lib/security/java.security
 
 Review comment:
   Discussed with Markus: the alpine-java image does not have a version that is 
alpine 3.6 + jdk 8u141b15
   
   I will create a separate PR to use that base image, however this will 
typically require revving alpine version AND jdk at same time. I'm OK with 
either approach, since typically neither will rev frequently.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to