2017-12-07 14:09:45 +02:00
2017-12-02 11:51:00 +00:00
2017-05-24 18:20:10 +00:00
2017-10-26 15:23:24 -07:00
2017-12-04 17:01:00 +00:00
2017-11-15 13:38:28 +00:00
2017-07-10 19:02:13 +00:00
2017-10-06 14:30:56 +00:00
2017-11-22 15:36:51 +00:00
2017-12-02 11:51:00 +00:00
2017-11-08 00:50:37 +00:00
2017-11-30 23:47:13 +00:00
2017-11-08 00:01:57 +00:00
2017-10-25 12:06:06 -07:00
2017-12-05 09:09:44 -05:00
2017-01-26 17:59:13 +01:00
2017-12-05 09:09:44 -05:00
2017-11-08 00:01:57 +00:00

buildah logo

Buildah - a tool which facilitates building OCI container images

================================================================

Go Report Card Travis

Note: this package is in alpha, but is close to being feature-complete.

The Buildah package provides a command line tool which can be used to

  • create a working container, either from scratch or using an image as a starting point
  • create an image, either from a working container or via the instructions in a Dockerfile
  • images can be built in either the OCI image format or the traditional upstream docker image format
  • mount a working container's root filesystem for manipulation
  • unmount a working container's root filesystem
  • use the updated contents of a container's root filesystem as a filesystem layer to create a new image
  • delete a working container or an image

Changelog

Installation notes

Buildah uses runc to run commands when buildah run is used, or when buildah build-using-dockerfile encounters a RUN instruction, so you'll also need to build and install a compatible version of runc for Buildah to call for those cases.

Example

From ./examples/lighttpd.sh:

cat > lighttpd.sh <<EOF
#!/bin/bash -x

ctr1=`buildah from ${1:-fedora}`

## Get all updates and install our minimal httpd server
buildah run $ctr1 -- dnf update -y
buildah run $ctr1 -- dnf install -y lighttpd

## Include some buildtime annotations
buildah config --annotation "com.example.build.host=$(uname -n)" $ctr1

## Run our server and expose the port
buildah config $ctr1 --cmd "/usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf"
buildah config $ctr1 --port 80

## Commit this container to an image name
buildah commit $ctr1 ${2:-$USER/lighttpd}
EOF

chmod +x lighttpd.sh
./lighttpd.sh

Commands

Command Description
buildah-add(1) Add the contents of a file, URL, or a directory to the container.
buildah-bud(1) Build an image using instructions from Dockerfiles.
buildah-commit(1) Create an image from a working container.
buildah-config(1) Update image configuration settings.
buildah-containers(1) List the working containers and their base images.
buildah-copy(1) Copies the contents of a file, URL, or directory into a container's working directory.
buildah-from(1) Creates a new working container, either from scratch or using a specified image as a starting point.
buildah-images(1) List images in local storage.
buildah-inspect(1) Inspects the configuration of a container or image.
buildah-mount(1) Mount the working container's root filesystem.
buildah-push(1) Copies an image from local storage.
buildah-rm(1) Removes one or more working containers.
buildah-rmi(1) Removes one or more images.
buildah-run(1) Run a command inside of the container.
buildah-tag(1) Add an additional name to a local image.
buildah-umount(1) Unmount a working container's root file system.
buildah-version(1) Display the Buildah Version Information

Future goals include:

  • more CI tests
  • additional CLI commands (?)
Description
Work with remote images registries - retrieving information, images, signing content
Readme 135 MiB
Languages
Go 79.5%
Shell 15.5%
Makefile 2.8%
Perl 2%
Dockerfile 0.2%