| ARG RELEASE |
| ARG LAUNCHPAD_BUILD_ARCH |
| LABEL org.opencontainers.image.ref.name=ubuntu |
| LABEL org.opencontainers.image.version=22.04 |
| ADD file:ebe009f86035c175ba244badd298a2582914415cf62783d510eab3a311a5d4e1 in / |
| CMD ["/bin/bash"] |
| ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 |
| RUN /bin/sh -c apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata curl ca-certificates fontconfig locales && echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen && locale-gen en_US.UTF-8 && rm -rf /var/lib/apt/lists/* # buildkit |
| ENV JAVA_VERSION=jdk-17.0.13+11_openj9-0.48.0 |
| RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in aarch64|arm64) ESUM='e737c9d2f4fc5a4fd5e58ec044ef9f118ffe2fbd5a7a4953fa02cd9d56b6cb47'; BINARY_URL='https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.13%2B11_openj9-0.48.0/ibm-semeru-open-jre_aarch64_linux_17.0.13_11_openj9-0.48.0.tar.gz'; ;; ppc64el|ppc64le) ESUM='d3e0c4e9f612093833a7d651835d6e65c2ff0f1ed8dd7afd2f0359945ebf7d34'; BINARY_URL='https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.13%2B11_openj9-0.48.0/ibm-semeru-open-jre_ppc64le_linux_17.0.13_11_openj9-0.48.0.tar.gz'; ;; amd64|x86_64) ESUM='0cbc8917a20d7c495d765f6986b5fe0b08133fcf48ef6b43d92b61f5c4f325d7'; BINARY_URL='https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.13%2B11_openj9-0.48.0/ibm-semeru-open-jre_x64_linux_17.0.13_11_openj9-0.48.0.tar.gz'; ;; s390x) ESUM='a2f3588d940696ef58d3a588e6bbce940c1aa64938fabbf9a14a551a5e15385b'; BINARY_URL='https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.13%2B11_openj9-0.48.0/ibm-semeru-open-jre_s390x_linux_17.0.13_11_openj9-0.48.0.tar.gz'; ;; *) echo "Unsupported arch: ${ARCH}"; exit 1; ;; esac; curl -LfsSo /tmp/openjdk.tar.gz ${BINARY_URL}; echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; mkdir -p /opt/java/openjdk; cd /opt/java/openjdk; tar -xf /tmp/openjdk.tar.gz --strip-components=1; rm -rf /tmp/openjdk.tar.gz; # buildkit |
| ENV JAVA_HOME=/opt/java/openjdk PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| ENV JAVA_TOOL_OPTIONS=-XX:+IgnoreUnrecognizedVMOptions -XX:+PortableSharedCache -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal |
| RUN /bin/sh -c set -eux; unset OPENJ9_JAVA_OPTIONS; SCC_SIZE="50m"; DOWNLOAD_PATH_TOMCAT=/tmp/tomcat; INSTALL_PATH_TOMCAT=/opt/tomcat-home; TOMCAT_CHECKSUM="07d87286e8ee84bb291069c596cf36233e56a14e3ecb6d65eea0fa7c7042ce5e75f5db31f210b96b6b25b80b34e626dd26c5a6ed5c052384a8587d62658b5e16"; TOMCAT_DWNLD_URL="https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.98/bin/apache-tomcat-9.0.98.tar.gz"; mkdir -p "${DOWNLOAD_PATH_TOMCAT}" "${INSTALL_PATH_TOMCAT}"; curl -LfsSo "${DOWNLOAD_PATH_TOMCAT}"/tomcat.tar.gz "${TOMCAT_DWNLD_URL}"; echo "${TOMCAT_CHECKSUM} *${DOWNLOAD_PATH_TOMCAT}/tomcat.tar.gz" | sha512sum -c -; tar -xf "${DOWNLOAD_PATH_TOMCAT}"/tomcat.tar.gz -C "${INSTALL_PATH_TOMCAT}" --strip-components=1; rm -rf "${DOWNLOAD_PATH_TOMCAT}"; java -Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal,createLayer -Xscmx$SCC_SIZE -version; export OPENJ9_JAVA_OPTIONS="-XX:+IProfileDuringStartupPhase -Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal"; "${INSTALL_PATH_TOMCAT}"/bin/startup.sh; sleep 5; "${INSTALL_PATH_TOMCAT}"/bin/shutdown.sh -force; sleep 15; FULL=$( (java -Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,printallStats 2>&1 || true) | awk '/^Cache is [0-9.]*% .*full/ {print substr($3, 1, length($3)-1)}'); DST_CACHE=$(java -Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,destroy 2>&1 || true); SCC_SIZE=$(echo $SCC_SIZE | sed 's/.$//'); SCC_SIZE=$(awk "BEGIN {print int($SCC_SIZE * $FULL / 100.0)}"); [ "${SCC_SIZE}" -eq 0 ] && SCC_SIZE=1; SCC_SIZE="${SCC_SIZE}m"; java -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal,createLayer -Xscmx$SCC_SIZE -version; unset OPENJ9_JAVA_OPTIONS; export OPENJ9_JAVA_OPTIONS="-XX:+IProfileDuringStartupPhase -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal"; "${INSTALL_PATH_TOMCAT}"/bin/startup.sh; sleep 5; "${INSTALL_PATH_TOMCAT}"/bin/shutdown.sh -force; sleep 5; FULL=$( (java -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,printallStats 2>&1 || true) | awk '/^Cache is [0-9.]*% .*full/ {print substr($3, 1, length($3)-1)}'); echo "SCC layer is $FULL% full."; rm -rf "${INSTALL_PATH_TOMCAT}"; if [ -d "/opt/java/.scc" ]; then chmod -R 0777 /opt/java/.scc; fi; echo "SCC generation phase completed"; # buildkit |
| ENV PATH=/usr/local/tomee/bin:/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| RUN /bin/sh -c mkdir -p /usr/local/tomee ~/.gnupg # buildkit |
| WORKDIR /usr/local/tomee |
| RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends gpg dirmngr gpg-agent && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/sh -c set -xe; for key in 9056B710F1E332780DE7AF34CBAEBE39A46C4CA1 F067B8140F5DD80E1D3B5D92318242FE9A0B1183 223D3A74B068ECA354DC385CE126833F9CF64915 DBCCD103B8B24F86FFAAB025C8BB472CD297D428 7A2744A8A9AAF063C23EB7868EBE7DBE8D050EEF B8B301E6105DF628076BD92C5483E55897ABD9B9 FAA603D58B1BA4EDF65896D0ED340E0E6D545F97 A57DAF81C1B69921F4BA8723A8DE0A4DB863A7C1 82D8419BA697F0E7FB85916EE91287822FDB81B1 B7574789F5018690043E6DD9C212662E12F3E1DD C23A3F6F595EBD0F960270CC997C8F1A5BE6E4C1 678F2D98F1FD9643811639FB622B8F2D043F71D8 BDD0BBEB753192957EFC5F896A62FC8EF17D8FEF D11DF12CC2CA4894BDE638B967C1227A2678363C C92604B0DEC5C62CFF5801E73D4683C24EDC64D1 626C542EDA7C113814B77AF09C04914D63645D20 3948829384B269D333CC5B98358807C52B4B0E23 B83D15E72253ED1104EB4FBBDAB472F0E5B8A431 871638A21A7F2C38066471420306A354336B4F0D 85FBBE98D6C37CDA8A7D8FF9F9FF83A48D339D37 ; do gpg --batch --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys "$key" || gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; done # buildkit |
| ENV TOMEE_VER=9.1.3 |
| ENV TOMEE_BUILD=plume |
| RUN /bin/sh -c set -x && curl -fSL https://dist.apache.org/repos/dist/release/tomee/tomee-${TOMEE_VER}/apache-tomee-${TOMEE_VER}-${TOMEE_BUILD}.tar.gz.asc -o tomee.tar.gz.asc && curl -fSL https://dist.apache.org/repos/dist/release/tomee/tomee-${TOMEE_VER}/apache-tomee-${TOMEE_VER}-${TOMEE_BUILD}.tar.gz.sha512 -o tomee.tar.gz.sha512 && curl -fSL https://dist.apache.org/repos/dist/release/tomee/tomee-${TOMEE_VER}/apache-tomee-${TOMEE_VER}-${TOMEE_BUILD}.tar.gz -o apache-tomee-${TOMEE_VER}-${TOMEE_BUILD}.tar.gz && gpg --batch --verify tomee.tar.gz.asc apache-tomee-${TOMEE_VER}-${TOMEE_BUILD}.tar.gz && echo `cat tomee.tar.gz.sha512` | sha512sum -c - && tar -zxf apache-tomee-${TOMEE_VER}-${TOMEE_BUILD}.tar.gz && mv apache-tomee-${TOMEE_BUILD}-${TOMEE_VER}/* /usr/local/tomee && rm apache-tomee-${TOMEE_VER}-${TOMEE_BUILD}.tar.gz && rm -Rf apache-tomee-${TOMEE_BUILD}-${TOMEE_VER} && rm bin/*.bat && rm bin/*.exe && rm bin/*.tar.gz* && rm tomee.tar.gz.asc && rm tomee.tar.gz* # buildkit |
| EXPOSE map[8080/tcp:{}] |
| CMD ["catalina.sh" "run"] |
| USER root |
| RUN /bin/sh -c apt update && apt install -y nano cups-client cups-bsd && apt clean # buildkit |
| RUN /bin/sh -c useradd -u 1000 -m -d /home/hobbyadmin -s /bin/bash hobbyadmin # buildkit |
| WORKDIR /usr/local/tomee |
| RUN /bin/sh -c mkdir -p /usr/local/tomee/output && chown -R 1000:1000 /usr/local/tomee/output # buildkit |
| RUN /bin/sh -c mkdir -p /usr/local/tomee/config && chown -R 1000:1000 /usr/local/tomee/config # buildkit |
| COPY HoHiHa.war /usr/local/tomee/webapps/HoHiHa.war # buildkit |
| COPY tomcat-users.xml /usr/local/tomee/conf/tomcat-users.xml # buildkit |
| COPY manager.xml /usr/local/tomee/conf/Catalina/localhost/manager.xml # buildkit |
| RUN /bin/sh -c echo '#!/bin/sh' > /usr/local/tomee/start.sh && echo 'umask 002' >> /usr/local/tomee/start.sh && echo 'catalina.sh run' >> /usr/local/tomee/start.sh # buildkit |
| RUN /bin/sh -c chmod +x /usr/local/tomee/start.sh # buildkit |
| RUN /bin/sh -c chown -R 1000:1000 /usr/local/tomee # buildkit |
| USER hobbyadmin |
| CMD ["/usr/local/tomee/start.sh"] |