Node Alpine build with gosu.
10K+
See https://github.com/BetterCorp/docker-node for more info.
Better Node.js Docker images with multiple specialized variants for different development and production needs.
betterweb/node:latest - Latest stable Node.js on Alpine Linux (currently 24.x)betterweb/node:24 - Node.js 24.x (major version)betterweb/node:24.0.0 - Specific Node.js versionbetterweb/node:dev - Development image with additional tools (not for production)betterweb/node:dev-24 - Development image for Node.js 24.xbetterweb/node:dev-24.0.0 - Development image for specific versionbetterweb/node:devcontainer-latest - VS Code DevContainer with development toolsbetterweb/node:devcontainer-24 - DevContainer for Node.js 24.xbetterweb/node:devcontainer-24.0.0 - DevContainer for specific versionbetterweb/node:dind-latest - Node.js with Docker and Docker Compose supportbetterweb/node:dind-24 - DIND for Node.js 24.xbetterweb/node:dind-24.0.0 - DIND for specific version# Run latest Node.js version
docker run -it betterweb/node:latest
# Run specific version
docker run -it betterweb/node:24
# Run with mounted volume for development
docker run -it -v $(pwd):/app -w /app betterweb/node:24 npm start
# Run with port mapping
docker run -it -p 3000:3000 -v $(pwd):/app -w /app betterweb/node:24 node server.js
# Interactive development environment
docker run -it -v $(pwd):/app -w /app betterweb/node:dev-24 bash
# Install packages with native dependencies
docker run -it -v $(pwd):/app -w /app betterweb/node:dev-24 install_packages "bcrypt sharp"
# Run development server with live reload
docker run -it -p 3000:3000 -v $(pwd):/app -w /app betterweb/node:dev-24 npm run dev
# Run with Docker socket access (Linux/macOS)
docker run -it --privileged -v /var/run/docker.sock:/var/run/docker.sock betterweb/node:dind-24 bash
# Run CI/CD pipeline
docker run -it --privileged -v $(pwd):/app -w /app betterweb/node:dind-24 npm test
# Interactive DevContainer environment
docker run -it -v $(pwd):/workspace -w /workspace betterweb/node:devcontainer-24 bash
# With VS Code DevContainer extension (use in .devcontainer/devcontainer.json)
FROM betterweb/node:24
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["node", "index.js"]
FROM betterweb/node:dev-24
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
CMD ["npm", "run", "dev"]
The dev variant includes a helper script for installing packages with native dependencies:
FROM betterweb/node:dev-24
WORKDIR /app
COPY package*.json ./
# Use install_packages for packages that need compilation
RUN install_packages "bcrypt canvas sharp"
COPY . .
CMD ["npm", "run", "dev"]
FROM betterweb/node:dind-24
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
# Can run docker commands within this container
RUN docker --version
CMD ["npm", "test"]
For VS Code DevContainers, use in .devcontainer/devcontainer.json:
{
"name": "Node.js DevContainer",
"image": "betterweb/node:devcontainer-24",
"features": {},
"forwardPorts": [3000],
"postCreateCommand": "npm install"
}
betterweb/node)gosu for proper user privilege handlingnode userdev-*)install_packages script for easy npm package installation with native dependenciesdevcontainer-*)node userdind-*)Images are built for multiple Node.js versions:
Multi-platform images supporting:
linux/amd64 (x86_64)linux/arm64/v8 (ARM64)node user by defaultImages are automatically built and published via GitHub Actions:
This repository contains:
Dockerfile - Base Node.js imageDockerfile.dev - Development variantDockerfile.devcontainer - VS Code DevContainer variantDockerfile.dind - Docker-in-Docker variant.github/workflows/buildAndPub.yml - Automated build pipelineThis project follows the same license as the official Node.js Docker images.
Content type
Image
Digest
sha256:d67f97138…
Size
55.9 MB
Last updated
16 days ago
docker pull betterweb/node:dev-24