#!/bin/bash empty_dir=$(mktemp -d) init_container () { local container_name="$1" local image="$2" buildah from -q -v "$empty_dir":/tmp:slave -v "$empty_dir":/var/cache:slave -v "$empty_dir":/var/tmp:slave -v "$empty_dir":/var/log:slave --pull=newer --name="$container_name" "${image}" >/dev/null remove_container_on_exit "$container_name" buildah run --user 0:0 "$container_name" chmod -c 1777 /tmp /var/tmp buildah run --user 0:0 "$container_name" touch /tmp/test } commit(){ local container="$1" buildah config -e - -l - -a - -p - "$container" buildah config -e PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin" "$container" buildah unshare ./cleanup.sh "$container" buildah commit --rm -f oci --squash "$container" "$2" trap - EXIT } remove_container_on_exit() { container="$1" # shellcheck disable=SC2064 trap "buildah rm ${container}" EXIT }