diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..a96e552 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,2 @@ +.git/ +target/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a0d861d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,33 @@ +# +# Dockerfile for inc-validator. +# +# Performed as a two-stage build so that we can use Maven to generate the application +# but not have it (and the things it downloads) clutter up the deployed image. +# + +# +# Build the .jar file in a build container. +# +FROM maven:3.5.3-jdk-8 AS build-jar +MAINTAINER Ian Young <ian@iay.org.uk> + +WORKDIR /user +COPY pom.xml ./ +COPY swagger swagger +COPY src src + +RUN mvn --batch-mode \ + -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \ + clean package + +# +# Build the deployable image. +# +FROM openjdk:8-slim +MAINTAINER Ian Young <ian@iay.org.uk> + +WORKDIR /user +COPY --from=build-jar /user/target/*.jar . + +EXPOSE 8080 +CMD ["java", "-jar", "inc-validator-0.0.1-SNAPSHOT.jar"] diff --git a/docker-build b/docker-build new file mode 100755 index 0000000..3b906c0 --- /dev/null +++ b/docker-build @@ -0,0 +1,3 @@ +#!/bin/bash + +docker build -t iay/inc-validator .