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 anoextractfile to prevent certain directories from being added to the image. These images average 40-65MB. -
void-LIBC-full: Large image based on thebase-containerpackage and does not contain anoextractconfiguration. 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 thevoid-LIBCimage 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/amd64linux/386(glibconly)linux/arm64linux/arm/v7linux/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:
- Install and set up
dockeranddocker-buildx. If building multi-platform images,qemu-user-static, andbinfmt-supportare 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- Build the image:
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 bakecan be used.
With podman:
- Install and set up
podman. - Build the image:
podman build --target "image-<default|full|busybox>" --build-arg="LIBC=<glibc|musl>" . --tag <yourtag>