Skip to content
BEAD

Dockerfile Starter

Multi-stage Dockerfiles for Node, Python, PHP, Go, Ruby, Rust, Java, and static sites — plus matching .dockerignore.

Dockerfile
FROM node:22-alpine AS deps
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev

FROM node:22-alpine AS runtime
WORKDIR /app
ENV NODE_ENV=production
COPY --from=deps /app/node_modules ./node_modules
COPY . .
USER node
EXPOSE 3000
CMD ["node", "server.js"]
.dockerignore
.git
.gitignore
.dockerignore
README.md
LICENSE
.env
.env.*
node_modules
__pycache__
.venv
target
dist
build
*.log

Multi-stage by default

Every template separates build and runtime stages — smaller final images, no toolchains shipped to production. Templates land in the non-root user where the runtime base supports it.

Edit before shipping

These are starters, not finished products. Pin specific image digests for reproducible builds, configure your real port and entrypoint, and add a healthcheck.

You might also like