summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2020-07-18 17:22:47 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2020-08-24 19:48:09 +0200
commit55c7dd85f2cf215c302c4bb9f21a15d9dc2b489d (patch)
tree10b8a4efbe9a829d4e5abe79eb6f151d8ba4e91c
parentbde8b51fc40a02e6e8514ff428a748a133502c34 (diff)
Make simulator image leaner
This change updates the Dockerfile for the simulator to reduce its size. By using Docker stages, we can split the build image from the runtime image that only contains the runtime binaries.
-rw-r--r--simulator/Dockerfile32
1 files changed, 8 insertions, 24 deletions
diff --git a/simulator/Dockerfile b/simulator/Dockerfile
index 7daa8a2e..852809b3 100644
--- a/simulator/Dockerfile
+++ b/simulator/Dockerfile
@@ -1,27 +1,11 @@
FROM gradle:jdk14
MAINTAINER OpenDC Maintainers <opendc@atlarge-research.com>
-# Set the home directory to our gradle user's home.
-ENV HOME=/home/gradle
-ENV APP_HOME=$HOME/simulator
-
-# Copy OpenDC simulator
-COPY ./ $APP_HOME
-
-# Build as root
-USER root
-
-# Set the working directory to the simulator
-WORKDIR $APP_HOME
-
-# Build the application
-RUN gradle --no-daemon :opendc:opendc-runner-web:installDist
-
-# Fix permissions
-RUN chown -R gradle:gradle $APP_HOME
-
-# Downgrade user
-USER gradle
-
-# Start the Gradle application on run
-CMD opendc/opendc-runner-web/build/install/opendc-runner-web/bin/opendc-runner-web
+COPY ./ /simulator
+RUN cd /simulator/ \
+ && gradle --no-daemon :opendc:opendc-runner-web:installDist
+
+FROM openjdk:14
+COPY --from=0 /simulator/opendc/opendc-runner-web/build/install /simulator
+WORKDIR /simulator
+CMD opendc-runner-web/bin/opendc-runner-web