From 6ac86ebfe5c0dd460ffe720f60984f54df8052d3 Mon Sep 17 00:00:00 2001 From: Philipp Dormann Date: Sat, 22 May 2021 19:51:58 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=B3=20Dockerfile=20Multistage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 73eec6fd..5afe2de5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,8 +2,28 @@ FROM node:14.17.0-alpine3.13 AS build WORKDIR /build RUN yarn config set --home enableTelemetry 0 COPY package.json /build/ -RUN yarn +RUN yarn --production --frozen-lockfile +# Cache these modules for production +RUN cp -R node_modules/ prod_node_modules/ +# Install development dependencies +RUN yarn --frozen-lockfile COPY . /build +RUN yarn next telemetry disable RUN yarn build -# RUN yarn prisma migrate dev + +# Production image +FROM node:14.17.0-alpine3.13 AS production +WORKDIR /app + +# Copy cached dependencies +COPY --from=build /build/prod_node_modules ./node_modules + +# Copy generated Prisma client +COPY --from=build /build/node_modules/.prisma/ ./node_modules/.prisma/ + +COPY --from=build /build/package.json ./ +COPY --from=build /build/.next ./.next +COPY --from=build /build/public ./public +COPY prisma ./prisma +RUN yarn prisma migrate dev CMD ["yarn", "start"]