#docker-build #build-kit #docker #xargs

bin+lib buildxargs

xargs for BuildKit with docker buildx bake

3 stable releases

new 1.4.0 Mar 20, 2025
1.3.0 Jan 11, 2025
1.2.0 Nov 20, 2023

#271 in Unix APIs

Download history 138/week @ 2025-01-11 7/week @ 2025-01-18 9/week @ 2025-02-01 1/week @ 2025-02-08 6/week @ 2025-02-22 9/week @ 2025-03-01 86/week @ 2025-03-15

101 downloads per month

MIT license

19KB
377 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=~/Videos https://github.com/fenollp/dockerhost-tools.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

...docker buildx bake's --help...

--

xargs for BuildKit with docker buildx bake

Usage: buildxargs [BAKE OPTIONS] [OPTIONS]

Options:
      --retry <RETRY>        Retry each failed build at most this many times [default: 3]
      --help                 Print help
  -V, --version              Print version

Try:
  buildxargs <<EOF
docker build --platform=local -o . https://github.com/docker/buildx.git
docker build --tag my-image:latest https://github.com/bojand/ghz.git
EOF

Installing

cargo install --locked --git https://github.com/fenollp/buildxargs
# also: install Docker ≥ 18.09

See also

My blog post about this.

Related:

  • My vi[sual]xargs tool
  • fmtd and a lib for piping data in & out of docker 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

~58KB