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 .