A set of docker image build scripts using buildx bake
 
 
 
 
Go to file
David Kebler efe8d0fa2d refactor: generate Dockerfile from a template
refactor src/ to be just a basic build
add examples
write up help.md and usage subcommand
add test folder for dev testing
improve install script
many numerous improved to build script,
 moved portions of build script to functions in helpers.lib
2023-04-14 21:27:40 -07:00
Dockerfile.d refactor: generate Dockerfile from a template 2023-04-14 21:27:40 -07:00
examples refactor: generate Dockerfile from a template 2023-04-14 21:27:40 -07:00
lib refactor: generate Dockerfile from a template 2023-04-14 21:27:40 -07:00
src refactor: generate Dockerfile from a template 2023-04-14 21:27:40 -07:00
test refactor: generate Dockerfile from a template 2023-04-14 21:27:40 -07:00
.dockerignore refactor: new BUIlD_SRC supported from multiple locations including environment 2023-03-25 11:27:22 -07:00
.gitignore refactor: generate Dockerfile from a template 2023-04-14 21:27:40 -07:00
build refactor: generate Dockerfile from a template 2023-04-14 21:27:40 -07:00
docker-bake.hcl refactor: generate Dockerfile from a template 2023-04-14 21:27:40 -07:00
install refactor: generate Dockerfile from a template 2023-04-14 21:27:40 -07:00
readme.md refactor: generate Dockerfile from a template 2023-04-14 21:27:40 -07:00

readme.md

UCI Docker Image Builder

Easily build docker images for local use and publishing without messing around with a Dockerfile. Just some knowledge of BASH scripting is needed.

The "guts" of this repo is a single BASH shell script plus associated library to facilitate building docker linux images using any of four of these distros (arch,alpine,debian,ubuntu) and either architecture (amd64/arm64)

About

Prequisites

You need docker daemon installed with some other installation particulars in order to build images

The Dockerfile is assembled at build time is essentially two RUN commands. One to install packages (you specify) via a distro's package manager and then one to run a BASH init script that you write with specifics of initializing the image with whatever software the image is tasked to do. You specify those by setting a BUILD_SRC build source directory. This repo comes with a very basic build source which can handle any of the four distros mentioned. To build something more complicated you need to create your or src/ directory (see docs) or use one already developed (e.g. uci-docker-caddy repo)

Baked into the initilization RUN is an entrypoint script that makes interacting with the image/container easy and also to launch your "custom" app within th container.

The build makes user of docker's "buildx bake" commands and a docker-bake.hcl file to make local images

The default build is simply a basic alpine image saved locally to alpine:lastest.

To run the ./build script from other repos install it using the install script './install

The repo also supports (with scripts) pushing to alternate private repositories packages (like a self hosted gitea or github)

One can make images in one of two ways.

  1. edit the /src directory on this master branch (or a better a branch)
  2. Use the installer script (./install) to link the build script into your system path. THen you can develop a BUILD_SRC src/ directory anywhere and call the build script from there

It is recommended to do the later.