summaryrefslogtreecommitdiffstats
path: root/cds-ui/application/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'cds-ui/application/Dockerfile')
-rw-r--r--cds-ui/application/Dockerfile34
1 files changed, 23 insertions, 11 deletions
diff --git a/cds-ui/application/Dockerfile b/cds-ui/application/Dockerfile
index 5bf65f428..35467e0b4 100644
--- a/cds-ui/application/Dockerfile
+++ b/cds-ui/application/Dockerfile
@@ -1,35 +1,47 @@
+# Prepare stage for multistage image build
+## START OF stage0 ##
# Building client html and js files
-FROM alpine:3.8 as builder
+FROM alpine:3.8 AS stage0
+WORKDIR /opt/cds-ui/client/
RUN apk add --no-cache npm
-WORKDIR /opt/cds-ui/client/
-
COPY client/package.json /opt/cds-ui/client/
-
RUN npm install
COPY client /opt/cds-ui/client/
-
RUN npm run build
+## END OF STAGE0 ##
-# Building and creating server
-FROM alpine:3.8
+##############################################
+## START OF stage1 ##
+# Building and creating server
+FROM alpine:3.8 AS stage1
WORKDIR /opt/cds-ui/
RUN apk add --no-cache npm
COPY server/package.json /opt/cds-ui/
-
RUN npm install
COPY server /opt/cds-ui/
-COPY --from=builder /opt/cds-ui/server/public /opt/cds-ui/public
-
RUN npm run build
-EXPOSE 3000
+## END OF STAGE1 ##
+
+##############################################
+
+## This will create actual image
+
+FROM alpine:3.8
+WORKDIR /opt/cds-ui/
+
+RUN apk add --no-cache npm
+COPY --from=stage0 /opt/cds-ui /opt/cds-ui
+COPY --from=stage1 /opt/cds-ui/server/public /opt/cds-ui/public
+
+EXPOSE 3000
CMD [ "npm", "start" ]