mirror of
https://github.com/podman-container-tools/podman.git
synced 2026-08-05 16:35:45 +00:00
Update container/image to address a commit error when copying layers and metadata. This change may require users to recreate containers. container/storage added some new lock protection to prevent possible deadlock and data corruption. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com> Closes: #1381 Approved by: mheon |
||
|---|---|---|
| .. | ||
| bind | ||
| chroot | ||
| docker | ||
| imagebuildah | ||
| pkg | ||
| unshare | ||
| util | ||
| add.go | ||
| buildah.go | ||
| commit.go | ||
| common.go | ||
| config.go | ||
| config_noseccomp.go | ||
| config_seccomp.go | ||
| delete.go | ||
| image.go | ||
| import.go | ||
| LICENSE | ||
| mount.go | ||
| new.go | ||
| pull.go | ||
| README.md | ||
| run.go | ||
| run_linux.go | ||
| run_unsupport.go | ||
| unmount.go | ||
| util.go | ||
| vendor.conf | ||
Buildah - a tool that facilitates building Open Container Initiative (OCI) container images
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
- rename a local container
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-rename(1) | Rename a local container. |
| 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-unshare(1) | Launch a command in a user namespace with modified ID mappings. |
| buildah-version(1) | Display the Buildah Version Information |
Future goals include:
- more CI tests
- additional CLI commands (?)
