From ba7e72065bc283bceefe45d60216217a0677b617 Mon Sep 17 00:00:00 2001
From: Ian Young <ian@iay.org.uk>
Date: Sat, 12 May 2018 10:41:23 +0100
Subject: [PATCH] Implement Docker build

---
 .dockerignore |  2 ++
 Dockerfile    | 33 +++++++++++++++++++++++++++++++++
 docker-build  |  3 +++
 3 files changed, 38 insertions(+)
 create mode 100644 .dockerignore
 create mode 100644 Dockerfile
 create mode 100755 docker-build

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 .