docker: slim docker image to 154Mb (#5248)
* Better dockerfile * nits * proper VOLUMES
This commit is contained in:
34
Dockerfile
34
Dockerfile
@@ -1,21 +1,31 @@
|
|||||||
FROM node:carbon
|
# Build stage
|
||||||
|
FROM node:lts-alpine as build
|
||||||
|
|
||||||
RUN mkdir -p /parse-server
|
RUN apk update; \
|
||||||
COPY ./ /parse-server/
|
apk add git;
|
||||||
|
WORKDIR /tmp
|
||||||
|
COPY package*.json ./
|
||||||
|
RUN npm ci
|
||||||
|
COPY . .
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
RUN mkdir -p /parse-server/config
|
# Release stage
|
||||||
VOLUME /parse-server/config
|
FROM node:lts-alpine as release
|
||||||
|
VOLUME /parse-server/cloud /parse-server/config
|
||||||
RUN mkdir -p /parse-server/cloud
|
|
||||||
VOLUME /parse-server/cloud
|
|
||||||
|
|
||||||
WORKDIR /parse-server
|
WORKDIR /parse-server
|
||||||
|
|
||||||
RUN npm install && \
|
COPY package*.json ./
|
||||||
npm run build
|
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
|
ENV PORT=1337
|
||||||
|
USER node
|
||||||
EXPOSE $PORT
|
EXPOSE $PORT
|
||||||
|
|
||||||
ENTRYPOINT ["npm", "start", "--"]
|
ENTRYPOINT ["node", "./bin/parse-server"]
|
||||||
|
|||||||
Reference in New Issue
Block a user