No description
Find a file
Renovate Bot 11ee92c49e
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
chore(deps): update anchore/grype docker tag to v0.107.1
2026-02-03 21:01:26 +01:00
dockerfiles feat: add support for dynamic Debian package management in Dockerfile and build script 2025-11-14 16:24:13 +01:00
images chore(deps): update dependency adoptium/temurin21-binaries to v21.0.10+7 2026-02-01 10:27:27 +01:00
rootdir/etc feat: init 2025-03-30 12:53:32 +02:00
.gitignore feat: use yaml matrix 2025-09-21 11:17:50 +02:00
.woodpecker.yaml chore(deps): update anchore/grype docker tag to v0.107.1 2026-02-03 21:01:26 +01:00
build.sh chore(build.sh): add PR-scoped image tagging and cleanup 2026-02-01 10:26:47 +01:00
README.md feat: node 2025-08-30 11:53:33 +02:00
renovate.json chore(renovate): add extractVersion for jdk binaries 2026-02-01 10:15:59 +01:00

Distroless - Minimal Base, Java and Node Images

A small set of Dockerfiles and a build script to produce minimal BusyBox-based base and Java images. The goal is a tiny runtime image that includes only what's necessary to run typical Linux binaries or a JRE.

Quick summary

  • Dockerfile.base — builds a compact base image (BusyBox + glibc, CA certs, selected tzdata, minimal /etc files).
  • Dockerfile.java — extends the base image with OpenJDK to produce a minimal Java runtime image.
  • Dockerfile.node — produces a minimal Node.js runtime image.
  • build.sh — convenience script to build images and run quick smoke tests.

Prerequisites

  • Docker (engine) installed and running.
  • A POSIX-compatible shell for build.sh

Quickstart

From the repository root run the provided script which builds images and performs small verification steps:

./build.sh

What the Dockerfiles include

  • Dockerfile.base

    • BusyBox userland and a glibc runtime (to allow running typical Linux binaries built against glibc).
    • CA certificates so HTTPS works from the image.
    • A small set of /etc files (passwd, group) and selected time zones (e.g. Paris, UTC, New_York) to reduce image size.
  • Dockerfile.java

    • Adds a minimal OpenJDK distribution (JRE) on top of the base image.
    • Sets PATH and JAVA_HOME as needed for the runtime.
    • JAVA_VERSION can be set as a build argument.
  • Dockerfile.node

    • Adds a minimal Node.js on top of the base image.
    • NODE_VERSION can be set as a build argument.