From a9aff79cc690e8e16fceca08335af5767641293b Mon Sep 17 00:00:00 2001 From: Florent Vilmart <364568+flovilmart@users.noreply.github.com> Date: Sat, 22 Dec 2018 11:33:41 -0500 Subject: [PATCH] docker: slim docker image to 154Mb (#5248) * Better dockerfile * nits * proper VOLUMES --- Dockerfile | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/Dockerfile b/Dockerfile index b4ac513b..acbd88a7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,21 +1,31 @@ -FROM node:carbon +# Build stage +FROM node:lts-alpine as build -RUN mkdir -p /parse-server -COPY ./ /parse-server/ +RUN apk update; \ + apk add git; +WORKDIR /tmp +COPY package*.json ./ +RUN npm ci +COPY . . +RUN npm run build -RUN mkdir -p /parse-server/config -VOLUME /parse-server/config - -RUN mkdir -p /parse-server/cloud -VOLUME /parse-server/cloud +# Release stage +FROM node:lts-alpine as release +VOLUME /parse-server/cloud /parse-server/config WORKDIR /parse-server -RUN npm install && \ - npm run build +COPY package*.json ./ +RUN npm ci --production + +COPY bin bin +COPY public_html public_html +COPY views views +COPY --from=build /tmp/lib lib +RUN mkdir -p logs && chown -R node: logs ENV PORT=1337 - +USER node EXPOSE $PORT -ENTRYPOINT ["npm", "start", "--"] +ENTRYPOINT ["node", "./bin/parse-server"]