summaryrefslogtreecommitdiff
path: root/simulator
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 /simulator
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.
Diffstat (limited to 'simulator')
-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