No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Renovate Bot 3cc090fd5c
Some checks failed
ci/woodpecker/pull_request_metadata/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
ci/woodpecker/push/woodpecker Pipeline failed
chore(deps): update hadolint/hadolint docker tag to v2.15.0
2026-07-30 13:01:47 +00:00
dockerfiles chore(deps): update busybox docker tag to v1.38.0 2026-05-22 23:01:29 +00:00
images chore(deps): update dependency nodejs/node to v24.18.1 2026-07-29 17:02:19 +00: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 hadolint/hadolint docker tag to v2.15.0 2026-07-30 13:01:47 +00:00
build.sh build: enhance build process with dynamic image tagging and cleanup logic 2026-07-12 15:50:19 +02:00
README.md feat: node 2025-08-30 11:53:33 +02:00
renovate.json deps(node): update nodejs/node to version 26.x 2026-07-12 15:35:17 +02: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.