docker-node
Official Docker Image for Node.js :whale: :turtle: :rocket: (by nodejs)
berry
đŠđ Active development trunk for Yarn â (by yarnpkg)
docker-node | berry | |
---|---|---|
72 | 208 | |
8,432 | 7,775 | |
0.3% | 0.4% | |
8.7 | 9.0 | |
15 days ago | 9 days ago | |
Dockerfile | TypeScript | |
MIT License | BSD 2-clause "Simplified" License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
docker-node
Posts with mentions or reviews of docker-node.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2025-04-15.
- Why Frontend Developers Need to Know Docker?
-
⥠Deploy a minimal MCP Server on AWS Lambda with Serverless Framework âĄ
Letâs get it running locally first. You should have Node installed (you may also use nvm or docker).
-
Criando e executando um projeto Laravel 12 com (quase) zero dependĂȘncias usando Docker
Node
-
DDEV and PhpStorm's NodeJS Remote Interpreter for ESLint, Prettier, Tailwind, etc.
Just use the official node Docker image with the same version as your DDEV project in the Node.js Remote Interpreter settings for your PhpStorm project.
- Hosting Your Next.js App with Docker: A Multi-Stage Approach
-
10 Docker Security Best Practices
If youâre developing Node.js applications, you may want to consult with the official Docker and Node.js Best Practices.
-
How to release a version of a web app using GitHub Workflow with GitHub Actions
FROM node:18-alpine AS base LABEL author="author_name" LABEL name="your_application_name" # Install dependencies only when needed 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 WORKDIR /app # Install dependencies based on the preferred package manager COPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml* ./ RUN \ if [ -f package-lock.json ]; then npm ci; \ elif [ -f yarn.lock ]; then yarn --frozen-lockfile; \ elif [ -f pnpm-lock.yaml ]; then yarn global add pnpm && pnpm i --frozen-lockfile; \ else echo "Lockfile not found." && exit 1; \ fi # Rebuild the source code only when needed FROM base AS builder WORKDIR /app COPY --from=deps /app/node_modules ./node_modules COPY . . # RUN cp .env.docker-production .env # 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 during the build. # ENV NEXT_TELEMETRY_DISABLED 1 # If using npm comment out above and use below instead RUN npm run build # Production image, copy all the files and run next FROM base AS runner WORKDIR /app ENV NODE_ENV production # Uncomment the following line in case you want to disable telemetry during runtime. # ENV NEXT_TELEMETRY_DISABLED 1 RUN addgroup --system --gid 1001 nodejs RUN adduser --system --uid 1001 nextjs COPY --from=builder /app/public ./public # 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 CMD ["node", "server.js"]
- Deploying PayloadCMS to Fly.io
-
Effortless Next.js Deployment with Docker, Traefik, and GitHub Actions: A Complete Hosted Solution
FROM node:20-alpine AS base # 1. Install dependencies only when needed 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 WORKDIR /app # Install dependencies based on the preferred package manager COPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml* ./ RUN \ if [ -f yarn.lock ]; then yarn --frozen-lockfile; \ elif [ -f package-lock.json ]; then npm ci; \ elif [ -f pnpm-lock.yaml ]; then corepack enable pnpm && pnpm i; \ else echo "Lockfile not found." && exit 1; \ fi # Accept build arguments ARG NEXT_PUBLIC_BACKEND_URL # 2. Rebuild the source code only when needed FROM base AS builder WORKDIR /app # Declare ARG again here ARG NEXT_PUBLIC_BACKEND_URL COPY --from=deps /app/node_modules ./node_modules COPY . . RUN echo "NEXT_PUBLIC_BACKEND_URL=$NEXT_PUBLIC_BACKEND_URL" >> .env RUN npm run build # 3. Production image, copy all the files and run next FROM base AS runner WORKDIR /app ENV NODE_ENV=production RUN addgroup -g 1001 -S nodejs RUN adduser -S nextjs -u 1001 COPY --from=builder /app/public ./public # 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 ENV HOSTNAME="0.0.0.0" CMD ["node", "server.js"]
-
How to containerize your web app- a beginner-friendly tutorial for Dockerfile
A Dockerfile is a script that contains all the steps necessary to build an image. Dockerfile starts with something called base image. A base image is a pre-configured environment that our images build upon. The base image can be an OS like Linux, alpine, or some application stack. Choosing an appropriate base image is crucial for the overall size and productivity of the image of our application. We will talk more about how to select the appropriate base image in the later part of this series so for now let's keep in mind that a lighter base-image will create a lighter app image(this comes with its limitations which we will talk about in more detail in the later part of this series). So, for this app, we are going to use node:alpine images as a base, you can select your needed version of a base image from an image registry like Docker Hub.
berry
Posts with mentions or reviews of berry.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2025-06-24.
-
Top 5 Essential Build Tools for Modern Development
Introduced by Facebook (now Meta) to address some of the performance and security concerns with early npm versions, Yarn quickly gained traction as a fast, reliable, and secure alternative for JavaScript package management. While npm has significantly improved since Yarn's inception, Yarn continues to be a popular choice, especially in large-scale projects and monorepos.
-
Flash-install
Inspired by the speed of Bun, the reliability of Yarn, and the efficiency of PNPM
-
NPM vs Yarn vs PNPM: Choosing the right package manager for your project
2) Yarn (Speedy & Reliable)
-
Build an AI-powered Quora clone with Strapi and Next.js - Part 1
Yarn
-
How to Migrate from Classic Yarn to 'Modern Yarn' Without Losing Your Mind
Yarn Berry is a package management system for Node.js, created by MĂ€l Nison, the main developer of Yarn v1. The official version (v2) has been released since January 25, 2020, and is now being adopted by large open source repositories such as Babel. Yarn Berry is managed by source code in the GitHub repository. This is a post by @solleedata explaining Yarn Berry in more detail, from which the description above is copied.
-
Client-Side Search for Static Sites with Strapi, Next.js, Fusejs & Cloudflare
Yarn(v4.2.2)
-
Step-by-Step Tutorial on Building an AI text Humanizer with AI/ML API and Integration with Clerk Auth and Deploying to Vercel
npm or yarn or yarn
-
Wow, pnpm, Youâre Really Fast
If youâre a Node.js developer, then youâre familiar with npm and Yarn. You might even have a strong opinion about using one over the other. For years, developers have been struggling with the bloatâââin disk storage and build timeâââwhen working with Node.js package managers, especially npm.
- Revisando Node JS
-
Dockerizing a Next.js Application using a Standalone Build
In my case, I like to use pnpm to reduce the disk size of the node_modules folder. Therefore, the example of the Next.js Docker image uses this package manager, but you can make slight adjustments to use npm or yarn if you prefer.
What are some alternatives?
When comparing docker-node and berry you can also consider the following projects:
klipper-web-control-docker - Klipper with Moonraker shipped with Fluidd and/or Mainsail
pnpm - Fast, disk space efficient package manager
nvm - Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions
yarn - The 1.x line is frozen - features and bugfixes now happen on https://github.com/yarnpkg/berry
gitlab-ci-android - GitLab CI image for building Android apps
lerna - Lerna is a fast, modern build system for managing and publishing multiple JavaScript/TypeScript packages from the same repository.