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 |
||
---|---|---|
cmd/buildah | ||
contrib | ||
docker | ||
docs | ||
examples | ||
imagebuildah | ||
tests | ||
util | ||
vendor | ||
.gitignore | ||
.papr.sh | ||
.papr.yml | ||
.travis.yml | ||
LICENSE | ||
Makefile | ||
README.md | ||
add.go | ||
btrfs_tag.sh | ||
buildah.go | ||
commit.go | ||
common.go | ||
config.go | ||
delete.go | ||
image.go | ||
import.go | ||
libdm_tag.sh | ||
mount.go | ||
new.go | ||
ostree_tag.sh | ||
pull.go | ||
run.go | ||
selinux_tag.sh | ||
unmount.go | ||
user.go | ||
user_basic.go | ||
user_unix_cgo.go | ||
util.go | ||
vendor.conf |
README.md
buildah - a tool which facilitates building OCI container images
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 (?)