Nalin Dahyabhai fc880bcc86 Maintain multiple working container configs
Maintain the container configuration in multiple formats in the Buildah
object, initializing one based on the other, depending on which format
the source image used for its configuration.

Replace directly manipulated fields in the Buildah object (Annotations,
CreatedBy, OS, Architecture, Maintainer, User, Workdir, Env, Cmd,
Entrypoint, Expose, Labels, and Volumes) with accessor functions which
update both configurations and which read from whichever one we consider
to be authoritative.  Drop Args because we weren't using them.

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

Closes: #102
Approved by: rhatdan
2017-05-18 18:28:44 +00:00
2017-05-08 18:05:31 +00:00
2017-04-12 21:25:35 +00:00
2017-03-24 18:42:00 +00:00
2017-04-12 21:25:35 +00:00
2017-03-24 13:48:39 -04:00
2017-01-26 17:59:13 +01:00
2017-05-08 17:50:38 +00:00
2017-05-12 21:59:36 +00:00
2017-03-23 14:59:20 -04:00
2017-04-12 21:25:35 +00:00
2017-04-12 21:25:35 +00:00

buildah - a tool for building OCI images

Go Report Card Travis

Note: this package is in alpha.

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
  • 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
  • bats
  • btrfs-progs-devel
  • device-mapper-devel
  • gpgme-devel
  • libassuan-devel
  • git
  • bzip2
  • go-md2man
  • skopeo-containers

In Fedora, you can use this command:

 dnf -y install \ 
    make \ 
    golang \ 
    bats \ 
    btrfs-progs-devel \ 
    device-mapper-devel \ 
    gpgme-devel \ 
    libassuan-devel \ 
    git \ 
    bzip2 \
    go-md2man \
    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

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-mount(1) Mount the working container's root filesystem.
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-umount(1) Unmount a working container's root file system.

Future goals include:

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