forked from elastic/opbeans-java
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
39 lines (30 loc) · 1.58 KB
/
Dockerfile
File metadata and controls
39 lines (30 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#Multi-Stage build
#Build application stage
#We need maven.
FROM maven:3.5.3-jdk-10
ARG JAVA_AGENT_BRANCH=master
ARG JAVA_AGENT_REPO=elastic/apm-agent-java
WORKDIR /usr/src/java-app
#build the application
ADD . /usr/src/java-code
WORKDIR /usr/src/java-code/opbeans
RUN mvn -q -B package -DskipTests
RUN cp -v /usr/src/java-code/opbeans/target/*.jar /usr/src/java-app/app.jar
#build te agent
WORKDIR /usr/src/java-agent-code
RUN curl -L https://github.com/$JAVA_AGENT_REPO/archive/$JAVA_AGENT_BRANCH.tar.gz | tar --strip-components=1 -xz
RUN mvn -q -B package -DskipTests
RUN export JAVA_AGENT_BUILT_VERSION=$(mvn -q -Dexec.executable="echo" -Dexec.args='${project.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec) \
&& cp -v /usr/src/java-agent-code/elastic-apm-agent/target/elastic-apm-agent-${JAVA_AGENT_BUILT_VERSION}.jar /usr/src/java-app/elastic-apm-agent.jar
#Run application Stage
#We only need java
FROM openjdk:10
RUN export
WORKDIR /app
COPY --from=0 /usr/src/java-app/*.jar ./
CMD java -javaagent:/app/elastic-apm-agent.jar -Dspring.profiles.active=customdb\
-Dserver.port=${OPBEANS_SERVER_PORT:-3002}\
-Dspring.datasource.url=${DATABASE_URL:-jdbc:postgresql://postgres/opbeans?user=postgres&password=verysecure}\
-Dspring.datasource.driverClassName=${DATABASE_DRIVER:-org.postgresql.Driver}\
-Dspring.jpa.database=${DATABASE_DIALECT:-POSTGRESQL}\
-jar /app/app.jar