Skip to content

Instantly share code, notes, and snippets.

@CarlosVMPE
Forked from Klerith/recomendada.Dockerfile
Created August 19, 2022 15:27
Show Gist options
  • Select an option

  • Save CarlosVMPE/1790f9cd8e87d36711d1b072079b29d8 to your computer and use it in GitHub Desktop.

Select an option

Save CarlosVMPE/1790f9cd8e87d36711d1b072079b29d8 to your computer and use it in GitHub Desktop.

Revisions

  1. @Klerith Klerith revised this gist Jan 26, 2022. 1 changed file with 0 additions and 2 deletions.
    2 changes: 0 additions & 2 deletions simple.Dockerfile
    Original file line number Diff line number Diff line change
    @@ -12,8 +12,6 @@ COPY . /app

    RUN yarn build

    USER nextjs

    EXPOSE 3000

    CMD [ "yarn", "start" ]
  2. @Klerith Klerith revised this gist Jan 26, 2022. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions recomendada.Dockerfile
    Original file line number Diff line number Diff line change
    @@ -46,3 +46,5 @@ ENV PORT 3000
    # ENV NEXT_TELEMETRY_DISABLED 1

    CMD ["node", "server.js"]

    # entre 50 a 150 MB
  3. @Klerith Klerith created this gist Jan 26, 2022.
    48 changes: 48 additions & 0 deletions recomendada.Dockerfile
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,48 @@
    # Fuente: https://github.com/vercel/next.js/blob/canary/examples/with-docker/README.md

    # Install dependencies only when needed
    FROM node:16-alpine 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
    WORKDIR /app
    COPY package.json yarn.lock ./
    RUN yarn install --frozen-lockfile

    # Rebuild the source code only when needed
    FROM node:16-alpine AS builder
    WORKDIR /app
    COPY --from=deps /app/node_modules ./node_modules
    COPY . .
    RUN yarn build

    # Production image, copy all the files and run next
    FROM node:16-alpine AS runner
    WORKDIR /app

    ENV NODE_ENV production

    RUN addgroup -g 1001 -S nodejs
    RUN adduser -S nextjs -u 1001

    # You only need to copy next.config.js if you are NOT using the default configuration
    # COPY --from=builder /app/next.config.js ./
    COPY --from=builder /app/public ./public
    COPY --from=builder /app/package.json ./package.json

    # Automatically leverage output traces to reduce image size
    # https://nextjs.org/docs/advanced-features/output-file-tracing
    COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
    COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static

    USER nextjs

    EXPOSE 3000

    ENV PORT 3000

    # Next.js collects completely anonymous telemetry data about general usage.
    # Learn more here: https://nextjs.org/telemetry
    # Uncomment the following line in case you want to disable telemetry.
    # ENV NEXT_TELEMETRY_DISABLED 1

    CMD ["node", "server.js"]
    21 changes: 21 additions & 0 deletions simple.Dockerfile
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,21 @@
    FROM node:16-alpine

    RUN mkdir -p /app

    WORKDIR /app

    COPY package.json /app

    RUN yarn install

    COPY . /app

    RUN yarn build

    USER nextjs

    EXPOSE 3000

    CMD [ "yarn", "start" ]

    # Super pesada +1GB