$ -weight: 500;">docker login dhi.io
-weight: 500;">docker login dhi.io
-weight: 500;">docker login dhi.io
FROM node:22-alpine
# ... rest of your build
FROM node:22-alpine
# ... rest of your build
FROM node:22-alpine
# ... rest of your build
FROM dhi.io/node:22
# ... rest of your build
FROM dhi.io/node:22
# ... rest of your build
FROM dhi.io/node:22
# ... rest of your build
# Stage 1: Build (Standard Image)
FROM node:22 AS builder
WORKDIR /app
COPY . .
RUN -weight: 500;">npm -weight: 500;">install && -weight: 500;">npm run build # Stage 2: Runtime (Hardened Image)
FROM dhi.io/node:22
WORKDIR /app
COPY --from=builder /app/dist ./dist
# DHI runs as a non-root user by default
CMD ["node", "dist/index.js"]
# Stage 1: Build (Standard Image)
FROM node:22 AS builder
WORKDIR /app
COPY . .
RUN -weight: 500;">npm -weight: 500;">install && -weight: 500;">npm run build # Stage 2: Runtime (Hardened Image)
FROM dhi.io/node:22
WORKDIR /app
COPY --from=builder /app/dist ./dist
# DHI runs as a non-root user by default
CMD ["node", "dist/index.js"]
# Stage 1: Build (Standard Image)
FROM node:22 AS builder
WORKDIR /app
COPY . .
RUN -weight: 500;">npm -weight: 500;">install && -weight: 500;">npm run build # Stage 2: Runtime (Hardened Image)
FROM dhi.io/node:22
WORKDIR /app
COPY --from=builder /app/dist ./dist
# DHI runs as a non-root user by default
CMD ["node", "dist/index.js"]
-weight: 500;">docker debug <container_id>
-weight: 500;">docker debug <container_id>
-weight: 500;">docker debug <container_id> - Secure, minimal, production-ready container images by Docker
- Near-zero CVEs with continuous patching
- Built-in SBOM, provenance (SLSA L3), and signed metadata
- Drop-in replacement for existing Docker workflow
- Available in Community, Select, and Enterprise tiers - When building production-grade applications
- When compliance and security are priorities
- When you want to reduce dependency on reactive scanning - Near-zero known vulnerabilities (CVEs)
- Non-root containers by default
- Minimal packages → smaller attack surface - Signed SBOM (Software Bill of Materials)
- SLSA Level 3 build provenance
- VEX (context about exploitability)
- Cryptographic signatures for integrity - Packages built from source by Docker
- Signed and verified artifacts
- Reduced risk from compromised public registries - Built on Alpine and Debian, requiring minimal changes to adopt. Full support glibc and musl available in both variants for broad application compatibility
- Compatible with existing CI/CD
- No major workflow changes required - Docker Hardened Images
- Docker Hardened Images Features