Go to file
Nalin Dahyabhai f28dcb3751 Auto-set build tags for ostree and selinux
Try to use pkg-config to check for 'ostree-1' and 'libselinux'.

If ostree-1 is not found, use the containers_image_ostree_stub build tag
to not require it, at the cost of not being able to use or write images
to the 'ostree' transport.

If libselinux is found, build with the 'selinux' tag,

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>

Closes: #252
Approved by: rhatdan
2017-08-29 13:22:53 +00:00
cmd/buildah Remove --transport flag 2017-08-29 10:37:54 +00:00
contrib Remove --transport flag 2017-08-29 10:37:54 +00:00
docker Import and namespace more types 2017-05-24 18:20:10 +00:00
docs Add information on buildah from man page on transports 2017-08-29 10:37:54 +00:00
examples Update the example commit target to skip transport 2017-06-26 15:56:18 +00:00
imagebuildah Replace --registry with --transport 2017-08-03 15:55:13 +00:00
tests Remove --transport flag 2017-08-29 10:37:54 +00:00
util Fix inspect/tag-by-truncated-image-ID 2017-06-08 18:31:31 +00:00
vendor Bump containers/storage and containers/image 2017-07-28 12:10:46 +00:00
.gitignore gitignore build artifacts 2017-07-10 19:02:13 +00:00
.papr.sh ci: rename files to the new PAPR name 2017-07-27 18:39:31 +00:00
.papr.yml ci: use Fedora registry and mount repos 2017-07-27 18:39:31 +00:00
.travis.yml Auto-set build tags for ostree and selinux 2017-08-29 13:22:53 +00:00
LICENSE Initial commit 2017-01-26 17:59:13 +01:00
Makefile Auto-set build tags for ostree and selinux 2017-08-29 13:22:53 +00:00
README.md Remove export command 2017-08-17 19:40:47 +00:00
add.go Add/Copy need to support glob syntax 2017-07-17 20:11:48 +00:00
btrfs_tag.sh Suss out build tags, add a missing Travis dep 2017-01-28 06:20:22 +01:00
buildah.go Add credentials to buildah from 2017-08-22 18:55:38 +00:00
commit.go Add credentials to buildah from 2017-08-22 18:55:38 +00:00
common.go Add credentials to buildah from 2017-08-22 18:55:38 +00:00
config.go Update to match newer storage and image-spec APIs 2017-06-28 21:05:58 +00:00
delete.go Change functions that use a fmt.Errorf to wrap an err to error.Wrapf 2017-06-02 14:17:04 +00:00
image.go Update to match newer storage and image-spec APIs 2017-06-28 21:05:58 +00:00
import.go Don't overwrite parent information when reading 2017-06-13 21:50:42 +00:00
libdm_tag.sh Refine the libdm_no_deferred_remove tag check 2017-02-02 15:24:02 -05:00
mount.go buildah mount command should list mounts when no arguments are given. 2017-06-01 18:37:40 +00:00
new.go Remove --transport flag 2017-08-29 10:37:54 +00:00
ostree_tag.sh Auto-set build tags for ostree and selinux 2017-08-29 13:22:53 +00:00
pull.go Add credentials to buildah from 2017-08-22 18:55:38 +00:00
run.go Run: don't complain about missing volume locations 2017-08-24 10:41:29 +00:00
selinux_tag.sh Auto-set build tags for ostree and selinux 2017-08-29 13:22:53 +00:00
unmount.go buildah mount command should list mounts when no arguments are given. 2017-06-01 18:37:40 +00:00
user.go Change functions that use a fmt.Errorf to wrap an err to error.Wrapf 2017-06-02 14:17:04 +00:00
user_basic.go Use errors.New() instead of Wrapf() for new errors 2017-06-02 16:26:46 +00:00
user_unix_cgo.go Use errors.Errorf() instead of fmt.Errorf() 2017-06-02 16:26:46 +00:00
util.go Maintain multiple working container configs 2017-05-18 18:28:44 +00:00
vendor.conf Bump containers/storage and containers/image 2017-07-28 12:10:46 +00:00

README.md

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

Installation notes

Prior to installing buildah, install the following packages on your linux distro:

  • make
  • golang (Requires version 1.8.1 or higher.)
  • bats
  • btrfs-progs-devel
  • bzip2
  • device-mapper-devel
  • git
  • go-md2man
  • gpgme-devel
  • glib2-devel
  • libassuan-devel
  • ostree-devel
  • runc
  • skopeo-containers

In Fedora, you can use this command:

 dnf -y install \
    make \
    golang \
    bats \
    btrfs-progs-devel \
    device-mapper-devel \
    glib2-devel \
    gpgme-devel \
    libassuan-devel \
    ostree-devel \
    git \
    bzip2 \
    go-md2man \
    runc \
    skopeo-containers

Then to install buildah follow the steps in this example:

  mkdir ~/buildah
  cd ~/buildah
  export GOPATH=`pwd`
  git clone https://github.com/projectatomic/buildah ./src/github.com/projectatomic/buildah
  cd ./src/github.com/projectatomic/buildah
  make
  make install
  buildah --help

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.

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 (?)