Skip to content

Commit

Permalink
Merge pull request #2 from panga/docker
Browse files Browse the repository at this point in the history
Add Dockerfile and Docker Maven plugin
  • Loading branch information
panga authored Jun 12, 2018
2 parents 226f0c0 + 9ca90af commit 18b086f
Show file tree
Hide file tree
Showing 5 changed files with 124 additions and 0 deletions.
67 changes: 67 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,73 @@
</plugins>
</build>

<profiles>
<profile>
<id>docker</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>filter-dockerfile</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
<resources>
<resource>
<directory>src/main/docker</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.4.0</version>
<configuration>
<contextDirectory>${project.build.directory}</contextDirectory>
<repository>${project.artifactId}</repository>
<tag>latest</tag>
<dockerConfigFile></dockerConfigFile>
<buildArgs>
<JVM_OPTS>-Xmx512m</JVM_OPTS>
</buildArgs>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
<version>3.4</version>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>javax.activation-api</artifactId>
<version>1.2.0</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>build-image</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>

<!-- Apache 2 license -->
<licenses>
<license>
Expand Down
1 change: 1 addition & 0 deletions src/main/docker/Dockerfile
8 changes: 8 additions & 0 deletions src/main/docker/Dockerfile.fatjar
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM openjdk:10-jre-slim

ADD spring-petclinic-2.0.0.BUILD-SNAPSHOT.jar app.jar

ARG JVM_OPTS
ENV JVM_OPTS=${JVM_OPTS}

CMD java ${JVM_OPTS} -jar app.jar
24 changes: 24 additions & 0 deletions src/main/docker/Dockerfile.glibc
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
FROM openjdk:10 as builder

RUN jlink \
--add-modules java.xml.bind,java.sql,java.naming,java.management,java.instrument,java.security.jgss \
--verbose \
--strip-debug \
--compress 2 \
--no-header-files \
--no-man-pages \
--output /opt/jre-minimal

FROM panga/alpine:3.7-glibc2.25

COPY --from=builder /opt/jre-minimal /opt/jre-minimal

ENV LANG=C.UTF-8 \
PATH=${PATH}:/opt/jre-minimal/bin

ADD modules /opt/app/modules

ARG JVM_OPTS
ENV JVM_OPTS=${JVM_OPTS}

CMD java ${JVM_OPTS} --upgrade-module-path /opt/app/modules --module spring.petclinic
24 changes: 24 additions & 0 deletions src/main/docker/Dockerfile.musl
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
FROM panga/openjdk10:jdk-alpine as builder

RUN jlink \
--add-modules java.xml.bind,java.sql,java.naming,java.management,java.instrument,java.security.jgss \
--verbose \
--strip-debug \
--compress 2 \
--no-header-files \
--no-man-pages \
--output /opt/jre-minimal

FROM alpine:3.7

COPY --from=builder /opt/jre-minimal /opt/jre-minimal

ENV LANG=C.UTF-8 \
PATH=${PATH}:/opt/jre-minimal/bin

ADD modules /opt/app/modules

ARG JVM_OPTS
ENV JVM_OPTS=${JVM_OPTS}

CMD java ${JVM_OPTS} --upgrade-module-path /opt/app/modules --module spring.petclinic

0 comments on commit 18b086f

Please sign in to comment.