34 lines
1.7 KiB
Docker
34 lines
1.7 KiB
Docker
# This sample, non-production-ready template describes an Amazon EC2 instance and an Elastic Load Balancer.
|
|
# © 2020 Amazon Web Services, Inc. or its affiliates. All Rights Reserved.
|
|
# This AWS Content is provided subject to the terms of the AWS Customer Agreement available at
|
|
# http://aws.amazon.com/agreement or other written agreement between Customer and either
|
|
# Amazon Web Services, Inc. or Amazon Web Services EMEA SARL or both.
|
|
# ARG ACCOUNT_ID=766380763301
|
|
|
|
FROM ${buildRegistry}/build/java:8-jdk-slim-secure_v1.0
|
|
#FROM asia-southeast1-docker.pkg.dev/supply-poc-351106/meesho-devops/java:8
|
|
ARG artifactId=sample
|
|
ARG XMS=2G
|
|
ARG XMX=2G
|
|
ARG target
|
|
|
|
ADD https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.15.0/jmx_prometheus_javaagent-0.15.0.jar /opt/jmx_exporter.jar
|
|
#ADD https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v1.17.0/opentelemetry-javaagent.jar /opt/opentelemetry-javaagent.jar
|
|
|
|
### Config added through configmap
|
|
# COPY config.yaml /opt/config.yaml
|
|
EXPOSE 8880 8010
|
|
|
|
COPY ${artifactId}/target/*.jar /opt/target/${artifactId}.jar
|
|
RUN mkdir -p /var/log/${artifactId} && touch /var/log/${artifactId}/gc.log
|
|
|
|
WORKDIR /opt/target
|
|
|
|
CMD ["${artifactId}.jar", "-javaagent:/opt/jmx_exporter.jar=8880:/opt/config/jmx-config.yaml", \
|
|
"-XX:MinRAMPercentage=50.0", "-XX:MaxRAMPercentage=80.0", \
|
|
"-XX:+UseParallelGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails", \
|
|
"-XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplicationConcurrentTime", "-XX:+PrintHeapAtGC", \
|
|
"-Xloggc:/var/log/${artifactId}/gc.log", \
|
|
"-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=9000k", \
|
|
"-Xms${XMS}", "-Xmx${XMX}"]
|