OCI container images for Void Linux
This repo contains what is needed to build void-linux OCI container
images. There are 3 images provided for each libc (glibc
or musl
):
void-LIBC
: This image contains far fewer packages and uses a
noextract
file to prevent certain directories from being added to
the image. These images average 40-65MB.
void-LIBC-full
: Large image based on the base-container
package and
does not contain a noextract
configuration. If you want something
that is as close to a full void VM as possible, this is the image you
want to start with.These images average 80-135MB.
void-LIBC-busybox
: This image is the same as the void-LIBC
image
above, but uses busybox instead of GNU coreutils. Note that this is
not a well tested configuration with Void, but if you want a very
small image, busybox is a good way to get it. These images average 15-40MB.
These images are available for the following OCI platforms:
linux/amd64
linux/386
(glibc
only)linux/arm64
linux/arm/v7
linux/arm/v6
REPOSITORY TAG SIZE
ghcr.io/void-linux/void-glibc latest 64.5MB
ghcr.io/void-linux/void-musl latest 40.3MB
ghcr.io/void-linux/void-glibc-full latest 135MB
ghcr.io/void-linux/void-musl-full latest 81.4MB
ghcr.io/void-linux/void-glibc-busybox latest 39.6MB
ghcr.io/void-linux/void-musl-busybox latest 14.4MB
With docker
and docker-buildx
:
docker
and docker-buildx
. If building multi-platform images,
qemu-user-static
, and binfmt-support
are also needed:xbps-install docker docker-buildx
ln -s /etc/sv/docker /var/service
# optional
xbps-install binfmt-support
ln -s /etc/sv/binfmt-support /var/service
xbps-install qemu-user-static
docker build --target "image-<default|full|busybox>" -f Containerfile --build-arg="LIBC=<glibc|musl>" . --tag <yourtag>
Note: To easily build multi-platform images,
docker buildx bake
can be used.
With podman
:
podman
.podman build --target "image-<default|full|busybox>" --build-arg="LIBC=<glibc|musl>" . --tag <yourtag>