Skip to content

Please add an exception for the Distroless image in the repeatability section #10218

Closed
@tymonx

Description

I have noticed this restriction in the repeatability section:

No official images can be derived from, or depend on, non-official images with the following notable exceptions:

- FROM scratch
- FROM mcr.microsoft.com/windows/servercore
- FROM mcr.microsoft.com/windows/nanoserver

My proposition is to add also the Distroless image to exceptions. It is supported and maintained by the Google company and their developers, build using the GCP (Google Cloud Platform) and it is already stored and available through the GCR (Google Container Registry).

Pros:

  • Small base image size (19MB) compared to other base images
  • It is based on the Debian base image. In many cases, to prepare a distroless image it requires only a multi stage build, copy necessary executables (glibc based), scripts and libraries from the original image into new created distroless image
  • Secure, no shell and no package manager (it is a security feature, not a flaw) for in-container attacks, smaller security surface attacks (less libraries/executetables to scan), quick and better security audits
  • It uses glibc (no musl Alpine issues, no performance drops or stability issues compared to musl)
  • Stable and mature (based on the Debian 10 distro)
  • Popular in cloud and microservices based application
  • Supported and maintained by the Google company

Non-mandatory proposition/suggestion example for official images scheme tag name based on the Distroless like <image-name>:<version>-distroless or <image-name>:<version>-minimal.

An alternative approach to this it would be to add the Distroless image as part of official Docker images.

Related:

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions