You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@openwhisk.apache.org by GitBox <gi...@apache.org> on 2018/01/24 22:07:28 UTC

[GitHub] csantanapr closed pull request #3063: use alpine linux for base image

csantanapr closed pull request #3063: use alpine linux for base image
URL: https://github.com/apache/incubator-openwhisk/pull/3063
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/common/scala/Dockerfile b/common/scala/Dockerfile
index 114077cad4..17849dc9fd 100644
--- a/common/scala/Dockerfile
+++ b/common/scala/Dockerfile
@@ -1,8 +1,5 @@
-FROM buildpack-deps:trusty-curl
+FROM alpine:3.6
 
-ENV DEBIAN_FRONTEND noninteractive
-
-RUN locale-gen en_US.UTF-8
 ENV LANG en_US.UTF-8
 ENV LANGUAGE en_US:en
 ENV LC_ALL en_US.UTF-8
@@ -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
+
+
+
+
+RUN mkdir /logs
 
 COPY transformEnvironment.sh /
 RUN chmod +x transformEnvironment.sh
diff --git a/core/controller/Dockerfile b/core/controller/Dockerfile
index c5ecaf4a96..60d92237ce 100644
--- a/core/controller/Dockerfile
+++ b/core/controller/Dockerfile
@@ -1,13 +1,11 @@
 FROM scala
 
-ENV DEBIAN_FRONTEND noninteractive
-
 # Install swagger-ui
-RUN wget --no-verbose https://github.com/swagger-api/swagger-ui/archive/v3.6.0.tar.gz && \
+RUN curl -sSL -o swagger-ui-v3.6.0.tar.gz --no-verbose https://github.com/swagger-api/swagger-ui/archive/v3.6.0.tar.gz && \
     mkdir swagger-ui && \
-    tar zxf v3.6.0.tar.gz -C /swagger-ui --strip-components=2 swagger-ui-3.6.0/dist && \
-    rm v3.6.0.tar.gz && \
-    perl -pi -w -e  's{http://petstore.swagger.io/v2/swagger.json}{/api/v1/api-docs}g;' /swagger-ui/index.html
+    tar zxf swagger-ui-v3.6.0.tar.gz -C /swagger-ui --strip-components=2 swagger-ui-3.6.0/dist && \
+    rm swagger-ui-v3.6.0.tar.gz && \
+    sed -i s#http://petstore.swagger.io/v2/swagger.json#/api/v1/api-docs#g /swagger-ui/index.html
 
 #
 # Copy app jars
diff --git a/core/controller/init.sh b/core/controller/init.sh
index ec7d5e8205..1ffa7d74ef 100644
--- a/core/controller/init.sh
+++ b/core/controller/init.sh
@@ -3,6 +3,6 @@
 ./copyJMXFiles.sh
 
 export CONTROLLER_OPTS
-CONTROLLER_OPTS="$CONTROLLER_OPTS -Dakka.remote.netty.tcp.bind-hostname=$(hostname -I) $(./transformEnvironment.sh)"
+CONTROLLER_OPTS="$CONTROLLER_OPTS -Dakka.remote.netty.tcp.bind-hostname=$(hostname -i) $(./transformEnvironment.sh)"
 
 exec controller/bin/controller "$@"
diff --git a/core/invoker/Dockerfile b/core/invoker/Dockerfile
index 2a8b6eeebd..da3342990a 100644
--- a/core/invoker/Dockerfile
+++ b/core/invoker/Dockerfile
@@ -4,7 +4,7 @@ ENV DOCKER_VERSION 1.12.0
 
 # Uncomment to fetch latest version of docker instead: RUN wget -qO- https://get.docker.com | sh
 # Install docker client
-RUN wget --no-verbose https://get.docker.com/builds/Linux/x86_64/docker-${DOCKER_VERSION}.tgz && \
+RUN curl -sSL -o docker-${DOCKER_VERSION}.tgz https://get.docker.com/builds/Linux/x86_64/docker-${DOCKER_VERSION}.tgz && \
 tar --strip-components 1 -xvzf docker-${DOCKER_VERSION}.tgz -C /usr/bin docker/docker && \
 tar --strip-components 1 -xvzf docker-${DOCKER_VERSION}.tgz -C /usr/bin docker/docker-runc && \
 rm -f docker-${DOCKER_VERSION}.tgz && \


 

----------------------------------------------------------------
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:
users@infra.apache.org


With regards,
Apache Git Services