Ubuntu 25.04
Sponsored Link

Buildah : Create images from Scratch2025/04/22

 

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
59bc8cd6c2eb     *     602eb6fb314b docker.io/library/ubuntu:latest  ubuntu-working-container
a91415edc762     *     602eb6fb314b docker.io/library/ubuntu:latest  ubuntu-working-container-1
fafe639143d2     *                  scratch                          working-container

# mount [scratch] container

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

root@dlp:~#
echo $scratchmnt

/var/lib/containers/storage/overlay/a20a903c1edd61078f57d62c872f949ad65356c80bf00af9a7e3cf90bc772fc5/merged

# install packages to [scratch] container

root@dlp:~#
apt -y install debootstrap

root@dlp:~#
debootstrap plucky $scratchmnt

# unmount

root@dlp:~#
buildah umount $newcontainer

fafe639143d2ad9fa8b0a56467a6122fe14ee377af9cbcd426764791d2a8741f

# run container

root@dlp:~#
buildah run $newcontainer cat /etc/os-release

PRETTY_NAME="Ubuntu 25.04"
NAME="Ubuntu"
VERSION_ID="25.04"
VERSION="25.04 (Plucky Puffin)"
VERSION_CODENAME=plucky
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=plucky
LOGO=ubuntu-logo

# add images

root@dlp:~#
buildah commit $newcontainer ubuntu-basic:latest

Getting image source signatures
Copying blob b2cb47259e96 done   |
Copying config 692d5fd025 done   |
Writing manifest to image destination
692d5fd0253b94545b842ef0fd9d7366417f65e73a8d0289b3ad1d1d19d37c71

root@dlp:~#
buildah images

REPOSITORY                   TAG                IMAGE ID       CREATED             SIZE
localhost/ubuntu-basic       latest             692d5fd0253b   14 seconds ago      376 MB
localhost/my-ubuntu          latest             d5d623de80eb   12 minutes ago      170 MB
docker.io/library/ubuntu     latest             602eb6fb314b   13 days ago         80.6 MB

# test to run a container

root@dlp:~#
podman run localhost/ubuntu-basic /bin/echo "Hello my ubuntu"

Hello my ubuntu
Matched Content