A set of docker image build scripts using buildx bake
 
 
 
 
Go to file
Kebler Network System Administrator c343cbb148 fix: deal with no src/ directory in current directory
fix: save old image by retagging or overwrite
add: allow only breaking cache for initialzation run of build
2023-01-21 22:41:14 -08:00
lib convert scripts to functions and create library of secondary functions. Enable calling those directly form build script/function 2023-01-17 15:20:49 -08:00
src separate package install from initialization on dockefile build 2023-01-21 22:22:41 -08:00
.gitignore improved setting options for source script directory to accept absoulte path and to force use of base repo source (src) 2023-01-17 11:53:24 -08:00
Dockerfile fix: deal with no src/ directory in current directory 2023-01-21 22:41:14 -08:00
aliases convert scripts to functions and create library of secondary functions. Enable calling those directly form build script/function 2023-01-17 15:20:49 -08:00
build fix: deal with no src/ directory in current directory 2023-01-21 22:41:14 -08:00
docker-bake.hcl fix: deal with no src/ directory in current directory 2023-01-21 22:41:14 -08:00
install add install script to /opt/bin 2023-01-17 15:42:56 -08:00
readme.md convert scripts to functions and create library of secondary functions. Enable calling those directly form build script/function 2023-01-17 15:20:49 -08:00

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.

  1. Make your base images on the master branch then create a new branch and edit the script files in the src folder
  2. 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