Buildah

From John Freier
Jump to: navigation, search

This tool is used to build images.

Build an image

 buildah bud -t {image}:{tag}

List all images

 buildah images

Build using a Dockerfile

 buildah build-using-dockerfile --format docker --file Dockerfile --tag cs:latest

Push image to a local file as oci format

 -- Build in OCI format for running in Podman.
 buildah push --format oci localhost/cs:latest  oci-archive:/app/target/cs-oci.tar
 
 -- Build in docker format and run in docker.
 buildah push --format docker localhost/cs-docker:latest  docker-archive:/app/target/cs-docker2.tar


To run buildah using docker

 docker run -it \
   --security-opt seccomp=unconfined \
   --security-opt apparmor=unconfined \
   --device /dev/fuse \
   --entrypoint "/bin/bash" \
   quay.io/buildah/stable

You need to have the following flags

 --security-opt seccomp=unconfined
 --security-opt apparmor=unconfined
 --device /dev/fuse

seccomp - Docker restricts using unshare system call inside a containers.

apparmor - This flag is required.

/dev/fuse - This is needed to use the fuse-overlay program inside the container rather then using the host kernel overlay.