docker: slim docker image to 154Mb (#5248)

* Better dockerfile

* nits

* proper VOLUMES
This commit is contained in:
Florent Vilmart
2018-12-22 11:33:41 -05:00
committed by GitHub
parent df109c0023
commit a9aff79cc6

View File

@@ -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"]