mirror of
git://git.yoctoproject.org/meta-virtualization.git
synced 2025-07-19 20:59:41 +02:00
![]() buildah is a command line tool, to be installed and run on target, 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 Testing: Setup the build directory: $ . oe-init-build-env <build_dir> Add to local.conf: IMAGE_INSTALL:append = " buildah kernel-modules" KERNEL_FEATURES += "features/overlayfs/overlayfs.cfgi \ features/netfilter/netfilter.scc \ features/lxc/lxc-enable.scc" IMAGE_ROOTFS_EXTRA_SPACE = "5242880" Build image: $ bitbake core-image-minimal Run the image: $ runqemu nographic kvm qemuparams="-m 4096" On target: Pull an image: > cnt=$(buildah from fedora) Or build from Dockerfile > buildah bud -t <image_name>:<tag> . Mount the image: > mnt=$(buildah mount ${cnt}) Install packages on the container rootfs: > dnf install --installroot $mnt <packages_to_install> -y Copy local files to the container: > buildah copy $cnt <local_file> <dest_on_container> Save the changes to an image > buildah commit --format docker $cnt <name>:<tag> Run the image using buildah: > buildah run $cnt /bin/sh Or using docker: > docker run -it <name>:<tag> Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> |
||
---|---|---|
.. | ||
buildah_git.bb |