| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You under the Apache License, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| FROM registry.access.redhat.com/ubi8/ubi-minimal:8.4 |
| |
| ARG JAVA_PACKAGE=java-11-openjdk-headless |
| ARG RUN_JAVA_VERSION=1.3.8 |
| ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' |
| # Install java and the run-java script |
| # Also set up permissions for user `1001` |
| RUN microdnf install curl ca-certificates ${JAVA_PACKAGE} \ |
| && microdnf update \ |
| && microdnf clean all \ |
| && mkdir /deployments \ |
| && chown 1001 /deployments \ |
| && chmod "g+rwX" /deployments \ |
| && chown 1001:root /deployments \ |
| && curl https://repo1.maven.org/maven2/io/fabric8/run-java-sh/${RUN_JAVA_VERSION}/run-java-sh-${RUN_JAVA_VERSION}-sh.sh -o /deployments/run-java.sh \ |
| && chown 1001 /deployments/run-java.sh \ |
| && chmod 540 /deployments/run-java.sh \ |
| && echo "securerandom.source=file:/dev/urandom" >> /etc/alternatives/jre/conf/security/java.security |
| |
| # Configure the JAVA_OPTIONS, you can add -XshowSettings:vm to also display the heap size. |
| ENV JAVA_OPTIONS="-Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager" |
| COPY target/*-runner.jar /deployments/app.jar |
| |
| EXPOSE 8080 |
| USER 1001 |
| |
| ENTRYPOINT [ "/app/run-java.sh" ] |