Commit 2bcfdae8 authored by Noel Alonso's avatar Noel Alonso
Browse files

Merge branch 'feature-migrateOpenJDK' into 'dev'

Migra desde imagen oracleJDK propia a openJDK

See merge request redmic-project/docker/redmic-server!6
parents 1c23a977 407e84e4
Loading
Loading
Loading
Loading

.env

0 → 100644
+2 −0
Original line number Diff line number Diff line
OPENJDK_IMAGE_TAG=8u312-jdk-slim-bullseye
WGET_VERSION=1.21-1+b1
+4 −0
Original line number Diff line number Diff line
@@ -7,3 +7,7 @@ stages:
  - pre-package
  - package
  - post-package

.docker-build:
  variables:
    COMPOSE_FILE_NAME: docker-compose.yml
+10 −84
Original line number Diff line number Diff line
FROM alpine:3.7
ARG OPENJDK_IMAGE_TAG=8u312-jdk-slim-bullseye
FROM openjdk:${OPENJDK_IMAGE_TAG}

# Original from Anastas Dancha <anapsix@random.io>
LABEL maintainer="info@redmic.es"

ENV JAVA_VERSION_MAJOR=8 \
    JAVA_VERSION_MINOR=181 \
    JAVA_VERSION_BUILD=13 \
    JAVA_PACKAGE=jdk \
    HOTSWAP_AGENT_VERSION=1.2.0 \
    JAVA_JCE=standard \
    JAVA_HOME=/opt/jdk \
    PATH=${PATH}:/opt/jdk/bin \
    GLIBC_REPO=https://github.com/sgerrand/alpine-pkg-glibc \
    GLIBC_VERSION=2.27-r0 \
    ORACLE_SUBPATH=96a7b8442fe848ef90c96a2fad6ed6d1 \
    DIRPATH=/opt/redmic \
    SPRING_PROFILES_ACTIVE=dev \
    DEFAULT_JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom -XshowSettings:vm -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap" \
    LOG_LEVEL=error \
    LOCALE=es_ES \
    CHARSET=UTF-8 \
    LOCALES="es_ES en_EN"
ARG	WGET_VERSION=1.21-1+b1

# Default language, additional ones must be declared on LOCALES environment variable
ENV LANG=${LOCALE}.${CHARSET} \
    LANGUAGE=${LOCALE}.${CHARSET}
ENV DIRPATH=/opt/redmic \
	DEFAULT_JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom -XshowSettings:vm -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -Dlog4j.formatMsgNoLookups=true -Duser.country=ES -Duser.language=es" \
	LOG_LEVEL=error

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 && \
    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 && \
    ( echo "${LOCALES}" | tr " " "\0" | xargs -i /usr/glibc-compat/bin/localedef -c -i POSIX -f ${CHARSET} {}.${CHARSET} || true ) && \
    echo "export LANG=${LANG}" > /etc/profile.d/locale.sh && \
    /usr/glibc-compat/sbin/ldconfig /lib /usr/glibc-compat/lib && \
    mkdir -p /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}/${ORACLE_SUBPATH}/${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 && \
    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/*src.zip \
           /opt/jdk/lib/missioncontrol \
           /opt/jdk/lib/visualvm \
           /opt/jdk/lib/*javafx* \
           /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/* && \
    echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf
RUN apt-get update && apt-get install -y --no-install-recommends \
		wget="${WGET_VERSION}" && \
	rm -rf /var/lib/apt/lists/*

WORKDIR ${DIRPATH}

ENTRYPOINT ${JAVA_HOME}/bin/java ${DEFAULT_JAVA_OPTS} ${JAVA_OPTS} -jar ${DIRPATH}/${MICROSERVICE_NAME}.jar
ENTRYPOINT java ${DEFAULT_JAVA_OPTS} ${JAVA_OPTS} -jar "${DIRPATH}/${MICROSERVICE_NAME}.jar"

docker-compose.yml

0 → 100644
+11 −0
Original line number Diff line number Diff line
version: '3.5'

services:
  maven:
    image: ${IMAGE_NAME:-registry.gitlab.com/redmic-project/docker/redmic-server}:${IMAGE_TAG:-latest}
    build:
      context: .
      dockerfile: ${DOCKERFILE:-Dockerfile}
      args:
        OPENJDK_IMAGE_TAG:
        WGET_VERSION: