Kebler Network System Administrator
c343cbb148
fix: save old image by retagging or overwrite add: allow only breaking cache for initialzation run of build |
||
---|---|---|
lib | ||
src | ||
.gitignore | ||
Dockerfile | ||
aliases | ||
build | ||
docker-bake.hcl | ||
install | ||
readme.md |
readme.md
UCI Docker Image Builder
A build script plus associated library to facilitate building docker linux images using any of three distros (alpine,debian,ubuntu) and either architecture (amd64/arm64)
The Dockerfile is minimal, calling a set of distro specific scripts and common scripts in order to build the image
The build environment makes user of docker's "buildx bake" commands and a docker-bake.hcl file
The master branch is configured to build base images from the docker hub distro base images
The main script is "build" At the very minimum run as just ./build
it will build an alpine image from the docker hub official alpine latest image with a minimal set of packages installed (e.g. git) and a custom uci shell environment.
The repo also supports (with scripts) pushing to alternate private repositories packages (like a self hosted gitea or github)
One can make decendent images in one of two way.
- Make your base images on the master branch then create a new branch and edit the script files in the src folder
- User the installer script (./install) to install to link the build script into your system path. Then clone the template branch
the build script requires an init.sh file in a source directory for the scripts it will run while building a new image
by default that is <source directory>/init.sh
. by default that source directory is src/
relative to the current directory