51

GitHub - projectatomic/buildah: A tool that facilitates building OCI images

 5 years ago
source link: https://github.com/projectatomic/buildah
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

buildah logo

Buildah - a tool that 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 that 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

Troubleshooting Guide

Tutorials

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 --cmd "/usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf" $ctr1
buildah config --port 80 $ctr1

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

$ chmod +x lighttpd.sh
$ sudo ./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) Push an image from local storage to elsewhere. 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 (?)

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK