debco
A declarative, BuildKit powered, Debian base system builder.
Inspired by apko, multistrap,
debootstrap, and cloud-init.
Features
- Declarative - specify your base system in a YAML file.
- Reproducible - run the same command, get the same image.
- Fast - uses BuildKit for caching and parallelism.
- Rootless - build images without root privileges.
- Cross platform - build images on any platform that supports Docker.
Usage
Prerequisites
Building a Image
To create a minimal Debian image:
debco build -c examples/bookworm-ultraslim.yaml
The resulting OCI archive will be saved to debian-image.tar
.
Running the Image
You will need a recent release of the Skopeo
(eg. v1.15.1) to copy the image into your Docker daemon cache as Docker does not
have native support for loading OCI images.
skopeo copy oci-archive:debian-image.tar docker-daemon:debco/debian:bookworm-ultraslim
You can then run the image with:
docker run --rm -it debco/debian:bookworm-ultraslim sh
Using a Prebuilt Image
For convenience the debco build pipeline publishes a bookworm-ultraslim image.
This image is intended for experimentation purposes only. You should build your
own base images using the debco build
command.
docker run --rm -it ghcr.io/dpeckett/debco/debian:bookworm-ultraslim sh
Limitations