1 stable release
1.2.0 | Nov 20, 2023 |
---|
#757 in Unix APIs
18KB
295 lines
buildxargs ~ xargs
for BuildKit with docker buildx bake
An efficient way of running multiple concurrent docker build
jobs on the BuildKit toolkit.
# export DOCKER_HOST=ssh://...
❯ buildxargs <<EOF
docker build --build-arg ARGs='--format mp4 -- https://www.youtube.com/watch?v=Hj7LwZqTflc' --output=$HOME https://github.com/fenollp/dockerhost-tools--yt-dlp.git
docker build -o=. --platform=local --build-arg PREBUILT=1 https://github.com/FuzzyMonkeyCo/monkey.git
docker build --platform=local -o . https://github.com/docker/buildx.git
EOF
This is equivalent to executing the following
❯ export DOCKER_BUILDKIT=1
❯ xargs -P0 -o -I{} {} <<EOF
docker build ...
docker build ...
...
docker build ...
EOF
Usage
buildxargs 1.0.0
Pierre Fenoll <pierrefenoll@gmail.com>
xargs for BuildKit with docker buildx bake
USAGE:
buildxargs [OPTIONS]
OPTIONS:
--debug Print more things
-f, --file <FILE> Read commands from file [default: -]
-h, --help Print help information
--no-cache Do not use cache when building the image
--print Print the options without building
--progress <PROGRESS> Set type of progress output ("plain", "tty") [default: auto]
--pull Always attempt to pull all referenced images
-V, --version Print version information
Installing
cargo install --locked --git https://github.com/fenollp/buildxargs
# also: install Docker ≥ 18.09
See also
Related:
- My vi[sual]
xargs
tool fmtd
and a lib for piping data in & out ofdocker build
tasks
TODO
- Spawn tasks in background, attach to display logs, cancel.
OPTIONS:
--attach ssh HOST -t /usr/bin/htop + replay daemon logs
--background Spawns calls using bg daemon and logs text back for log replain
Dependencies
~3–11MB
~145K SLoC