diff --git a/examples/with-docker-compose/next-app/prod.Dockerfile b/examples/with-docker-compose/next-app/prod.Dockerfile index 3c730c6266..907e9e5b38 100644 --- a/examples/with-docker-compose/next-app/prod.Dockerfile +++ b/examples/with-docker-compose/next-app/prod.Dockerfile @@ -1,5 +1,7 @@ +FROM node:18-alpine AS base + # Step 1. Rebuild the source code only when needed -FROM node:18-alpine AS builder +FROM base AS builder WORKDIR /app @@ -41,7 +43,7 @@ RUN \ # Note: It is not necessary to add an intermediate step that does a full copy of `node_modules` here # Step 2. Production image, copy all the files and run next -FROM node:18-alpine AS runner +FROM base AS runner WORKDIR /app @@ -68,4 +70,4 @@ ENV NEXT_PUBLIC_ENV_VARIABLE=${NEXT_PUBLIC_ENV_VARIABLE} # Note: Don't expose ports here, Compose will handle that for us -CMD node server.js +CMD ["node", "server.js"] diff --git a/examples/with-docker-multi-env/docker/development/Dockerfile b/examples/with-docker-multi-env/docker/development/Dockerfile index 2e9ca6a8bd..9b6cf4bec7 100644 --- a/examples/with-docker-multi-env/docker/development/Dockerfile +++ b/examples/with-docker-multi-env/docker/development/Dockerfile @@ -1,5 +1,7 @@ +FROM node:18-alpine AS base + # 1. Install dependencies only when needed -FROM node:16-alpine AS deps +FROM base AS deps # Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed. RUN apk add --no-cache libc6-compat @@ -15,7 +17,7 @@ RUN \ fi # 2. Rebuild the source code only when needed -FROM node:16-alpine AS builder +FROM base AS builder WORKDIR /app COPY --from=deps /app/node_modules ./node_modules COPY . . @@ -24,7 +26,7 @@ COPY .env.development.sample .env.production RUN yarn build # 3. Production image, copy all the files and run next -FROM node:16-alpine AS runner +FROM base AS runner WORKDIR /app ENV NODE_ENV=production diff --git a/examples/with-docker-multi-env/docker/production/Dockerfile b/examples/with-docker-multi-env/docker/production/Dockerfile index 74b46c45bc..f79a6f6dd5 100644 --- a/examples/with-docker-multi-env/docker/production/Dockerfile +++ b/examples/with-docker-multi-env/docker/production/Dockerfile @@ -1,5 +1,7 @@ +FROM node:18-alpine AS base + # 1. Install dependencies only when needed -FROM node:16-alpine AS deps +FROM base AS deps # Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed. RUN apk add --no-cache libc6-compat @@ -16,7 +18,7 @@ RUN \ # 2. Rebuild the source code only when needed -FROM node:16-alpine AS builder +FROM base AS builder WORKDIR /app COPY --from=deps /app/node_modules ./node_modules COPY . . @@ -25,7 +27,7 @@ COPY .env.production.sample .env.production RUN yarn build # 3. Production image, copy all the files and run next -FROM node:16-alpine AS runner +FROM base AS runner WORKDIR /app ENV NODE_ENV=production diff --git a/examples/with-docker-multi-env/docker/staging/Dockerfile b/examples/with-docker-multi-env/docker/staging/Dockerfile index 708ef65c0e..4b4970466d 100644 --- a/examples/with-docker-multi-env/docker/staging/Dockerfile +++ b/examples/with-docker-multi-env/docker/staging/Dockerfile @@ -1,5 +1,7 @@ +FROM node:18-alpine AS base + # 1. Install dependencies only when needed -FROM node:16-alpine AS deps +FROM base AS deps # Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed. RUN apk add --no-cache libc6-compat @@ -16,7 +18,7 @@ RUN \ # 2. Rebuild the source code only when needed -FROM node:16-alpine AS builder +FROM base AS builder WORKDIR /app COPY --from=deps /app/node_modules ./node_modules COPY . . @@ -25,7 +27,7 @@ COPY .env.staging.sample .env.production RUN yarn build # 3. Production image, copy all the files and run next -FROM node:16-alpine AS runner +FROM base AS runner WORKDIR /app ENV NODE_ENV=production