diff --git a/run/events-storage/Dockerfile b/run/events-storage/Dockerfile new file mode 100644 index 00000000000..512162fd071 --- /dev/null +++ b/run/events-storage/Dockerfile @@ -0,0 +1,41 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# [START run_events_gcs_dockerfile] + +# Use the official maven/Java 8 image to create a build artifact. +# https://hub.docker.com/_/maven +FROM maven:3.6-jdk-11 as builder + +# Copy local code to the container image. +WORKDIR /app +COPY pom.xml . +COPY src ./src + +# Build a release artifact. +RUN mvn package -DskipTests + +# Use AdoptOpenJDK for base image. +# It's important to use OpenJDK 8u191 or above that has container support enabled. +# https://hub.docker.com/r/adoptopenjdk/openjdk8 +# https://docs.docker.com/develop/develop-images/multistage-build/#use-multi-stage-builds +FROM adoptopenjdk/openjdk11:alpine-slim + +# Copy the jar to the production image from the builder stage. +COPY --from=builder /app/target/events-storage-*.jar /events-storage.jar + +# Run the web service on container startup. +CMD ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/events-storage.jar"] + +# [END run_events_gcs_dockerfile] diff --git a/run/events-storage/pom.xml b/run/events-storage/pom.xml index 4507b987cfb..e07803b1dbd 100644 --- a/run/events-storage/pom.xml +++ b/run/events-storage/pom.xml @@ -77,6 +77,13 @@ limitations under the License. org.springframework.boot spring-boot-maven-plugin + + + + repackage + + +