Fedora 42
Sponsored Link

Buildah : Create images from Scratch2025/04/25

 

Create container images from an empty container image.

[1] Start to create with [scratch] image.
# create an empty container with [scratch]

[root@dlp ~]#
newcontainer=$(buildah from scratch)

[root@dlp ~]#
buildah containers

CONTAINER ID  BUILDER  IMAGE ID     IMAGE NAME                       CONTAINER NAME
9e5f4bd9c78b     *     0e2b2f101698 registry.fedoraproject.org/fe... fedora-working-container
63d16a1f3443     *     0e2b2f101698 registry.fedoraproject.org/fe... fedora-working-container-1
3fc40a14b693     *                  scratch                          working-container

# mount [scratch] container

[root@dlp ~]#
scratchmnt=$(buildah mount $newcontainer)

[root@dlp ~]#
echo $scratchmnt

/var/lib/containers/storage/overlay/4db966ef04342c46684595bb440da45be68e63edcb400d9317bbb546fbbd12cd/merged

# install packages to [scratch] container

[root@dlp ~]#
dnf -y group install server-product-environment --releasever=42 --installroot=$scratchmnt --use-host-config
# unmount

[root@dlp ~]#
buildah umount $newcontainer

2397db78abef1c0ad6e8a236c6f901fb3ef4bd3407905542cd01375ef6230178

# run container

[root@dlp ~]#
buildah run $newcontainer bash

[root@2397db78abef /]#
[root@2397db78abef /]#
cat /etc/os-release

NAME="Fedora Linux"
VERSION="42 (Server Edition)"
RELEASE_TYPE=stable
ID=fedora
VERSION_ID=42
VERSION_CODENAME=""
PLATFORM_ID="platform:f42"
PRETTY_NAME="Fedora Linux 42 (Server Edition)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:42"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f42/system-administrators-guide/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=42
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=42
SUPPORT_END=2026-05-13
VARIANT="Server Edition"
VARIANT_ID=server

[root@2397db78abef /]#
# add images

[root@dlp ~]#
buildah commit $newcontainer fedora-server:latest

Getting image source signatures
Copying blob fc2696c9150c done   |
Copying config 8b25c68387 done   |
Writing manifest to image destination
8b25c683878112923dfefeb604b11d7061266f87390be5e648cbe570843908af

[root@dlp ~]#
buildah images

REPOSITORY                          TAG                IMAGE ID       CREATED             SIZE
localhost/fedora-server             latest             8b25c6838781   29 seconds ago      1.45 GB
localhost/my-fedora                 latest             cba8e7c8a23a   12 minutes ago      301 MB
registry.fedoraproject.org/fedora   latest             e5bf03515e92   26 hours ago        166 MB
Matched Content