ืจืขืงืึทืžืึทื ื“ื™ื™ืฉืึทื ื– ืคึฟืึทืจ ืคืœื™ืกื ื“ื™ืง Buildah ืื™ืŸ ืึท ืงืึทื ื˜ื™ื™ื ืขืจ

ื•ื•ืึธืก ืื™ื– ื“ื™ ืฉื™ื™ื ืงื™ื™ื˜ ืคื•ืŸ ื“ืขืงืึธื•ืคึผืœื™ื ื’ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ ืจื•ื ื˜ื™ืžืข ืื™ืŸ ื‘ืึทื–ื•ื ื“ืขืจ ืžื›ืฉื™ืจื™ื? ืื™ืŸ ื‘ืึทื–ื•ื ื“ืขืจ, ื“ื™ ืžื›ืฉื™ืจื™ื ืงืขื ืขืŸ ืึธื ื”ื™ื™ื‘ืŸ ืฆื• ื–ื™ื™ืŸ ืงืึทืžื‘ื™ื™ื ื“ ืึทื–ื•ื™ ืึทื– ื–ื™ื™ ื‘ืึทืฉื™ืฆืŸ ื™ืขื“ืขืจ ืื ื“ืขืจืขืจ.

ืจืขืงืึทืžืึทื ื“ื™ื™ืฉืึทื ื– ืคึฟืึทืจ ืคืœื™ืกื ื“ื™ืง Buildah ืื™ืŸ ืึท ืงืึทื ื˜ื™ื™ื ืขืจ

ืคื™ืœืข ืžืขื ื˜ืฉืŸ ื–ืขื ืขืŸ ื’ืขืฆื•ื™ื’ืŸ ืฆื• ื“ืขืจ ื’ืขื“ืึทื ืง ืคื•ืŸ ื‘ื•ื™ืขืŸ ืงืึทื ื˜ื™ื™ื ืขืจื– OCI ื‘ื™ืœื“ืขืจ ื™ืŸ Kubernetes ืึธื“ืขืจ ืขื ืœืขืš ืกื™ืกื˜ืขื. ื–ืืœ ืก ื–ืึธื’ืŸ ืžื™ืจ ื”ืึธื‘ืŸ ืึท ืกื™ / ืกื™ ื•ื•ืึธืก ืงืขืกื™ื™ื“ืขืจ ืงืึทืœืขืงืฅ ื‘ื™ืœื“ืขืจ, ื“ืขืžืึธืœื˜ ืขืคึผืขืก ื•ื•ื™ RedHat OpenShift/ Kubernetes ื•ื•ืึธืœื˜ ื–ื™ื™ืŸ ื’ืึทื ืฅ ื ื•ืฆื™ืง ืื™ืŸ ื˜ืขืจืžื™ื ืขืŸ ืคื•ืŸ ืžืึทืกืข ื‘ืึทืœืึทื ืกื™ื ื’ ื‘ืขืฉืึทืก ื‘ื•ื™ืขืŸ. ื‘ื™ื– ืœืขืฆื˜ื ืก, ืจื•ื‘ึฟ ืžืขื ื˜ืฉืŸ ืคืฉื•ื˜ ื’ืขื’ืขื‘ืŸ ืงืึทื ื˜ื™ื™ื ืขืจื– ืึทืงืกืขืก ืฆื• ืึท ื“ืึธืงืงืขืจ ื›ืึธืœืขืœ ืื•ืŸ ืขืจืœื•ื™ื‘ื˜ ื–ื™ื™ ืฆื• ืœื•ื™ืคืŸ ื“ื™ ื“ืึธืงืงืขืจ ื‘ื•ื™ืขืŸ ื‘ืึทืคึฟืขืœ. ืขื˜ืœืขื›ืข ื™ืืจ ืฆื•ืจื™ืง ืžื™ืจ ื’ืขื•ื•ื™ื–ืŸืึทื– ื“ืึธืก ืื™ื– ื–ื™ื™ืขืจ ื™ื ืกืึทืงื™ืขืจ, ืื™ืŸ ืคืึทืงื˜, ืขืก ืื™ื– ืืคื™ืœื• ืขืจื’ืขืจ ื•ื•ื™ ื’ืขื‘ืŸ ืคึผืึทืกื•ื•ืขืจื“ื– ื•ื•ืึธืจืฆืœ ืึธื“ืขืจ ืกื•ื“ืึธ.

ื“ืขืจืคึฟืึทืจ ืคึผืจื•ึผื•ื•ื˜ ืžืขืŸ ื›ึผืกื“ืจ ืึธื ืคึฟื™ืจืŸ Buildah ืื™ืŸ ืึท ืงืึทื ื˜ื™ื™ื ืขืจ. ื‘ืงื™ืฆื•ืจ, ืžื™ืจ ื”ืื‘ืŸ ื‘ืืฉืืคืŸ ื‘ื™ื™ึทืฉืคึผื™ืœ ื•ื•ื™, ืื™ืŸ ืื•ื ื“ื–ืขืจ ืžื™ื™ื ื•ื ื’, ืื™ื– ื‘ืขืกื˜ืขืจ ืฆื• ืœื•ื™ืคืŸ Buildah ื™ืŸ ืึท ืงืึทื ื˜ื™ื™ื ืขืจ, ืื•ืŸ ืึทืจื™ื™ึทื ื’ืขืฉื™ืงื˜ ื“ื™ ืงืึธืจืึทืกืคึผืึทื ื“ื™ื ื’ ื‘ื™ืœื“ืขืจ ืื•ื™ืฃ quay.io/buildah. ืœืืžื™ืจ ืื ื”ื™ื™ื‘ืขืŸ...

Customize

ื“ื™ ื‘ื™ืœื“ืขืจ ื–ืขื ืขืŸ ื’ืขื‘ื•ื™ื˜ ืคึฟื•ืŸ Dockerfiles, ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืคึฟื•ื ืขืŸ ืื™ืŸ ื“ื™ Buildah ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ืื™ืŸ ื“ืขืจ ื˜ืขืงืข buildahimage.
ื“ืึธ ืžื™ืจ ื•ื•ืขืœืŸ ื‘ืึทื˜ืจืึทื›ื˜ืŸ ืกื˜ืึทื‘ื™ืœ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹Dockerfile.

# stable/Dockerfile
#
# Build a Buildah container image from the latest
# stable version of Buildah on the Fedoras Updates System.
# https://bodhi.fedoraproject.org/updates/?search=buildah
# This image can be used to create a secured container
# that runs safely with privileges within the container.
#
FROM fedora:latest

# Don't include container-selinux and remove
# directories used by dnf that are just taking
# up space.
RUN yum -y install buildah fuse-overlayfs --exclude container-selinux; rm -rf /var/cache /var/log/dnf* /var/log/yum.*

# Adjust storage.conf to enable Fuse storage.
RUN sed -i -e 's|^#mount_program|mount_program|g' -e '/additionalimage.*/a "/var/lib/shared",' /etc/containers/storage.conf

ืึทื ืฉื˜ืึธื˜ OverlayFS, ื™ืžืคึผืœืึทืžืขื ืึทื“ ืื•ื™ืฃ ื“ืขืจ ื‘ืึทืœืขื‘ืึธืก ืœื™ื ื•ืงืก ืงืขืจืŸ ืžื“ืจื’ื”, ืžื™ืจ ื ื•ืฆืŸ ื“ืขื ืคึผืจืึธื’ืจืึทื ืื™ืŸ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ ืคื•ืกืข-ืึธื•ื•ืขืจืœื™ื™, ื•ื•ื™ื™ึทืœ ื“ืขืจื•ื•ื™ื™ึทืœ OverlayFS ืงืขื ืขืŸ ื‘ืœื•ื™ื– ืึธื ืงืœืึทืคึผืŸ ืื•ื™ื‘ ืื™ืจ ื’ืขื‘ืŸ ืขืก SYS_ADMIN ืคึผืขืจืžื™ืฉืึทื ื– ื ื™ืฆืŸ ืœื™ื ื•ืงืก ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื–. ืื•ืŸ ืžื™ืจ ื•ื•ื™ืœืŸ ืฆื• ืœื•ื™ืคืŸ ืื•ื ื“ื–ืขืจ Buildah ืงืึทื ื˜ื™ื™ื ืขืจื– ืึธืŸ ื•ื•ืึธืจืฆืœ ืคึผืจื™ื•ื•ื™ืœืึทื“ื–ืฉืึทื–. Fuse-overlay ืึทืจื‘ืขื˜ ื’ืึทื ืฅ ื’ืขืฉื•ื•ื™ื ื“ ืื•ืŸ ื”ืื˜ ื‘ืขืกืขืจ ืคืึธืจืฉื˜ืขืœื•ื ื’ ื•ื•ื™ ื“ื™ VFS ืกื˜ืึธืจื™ื“ื–ืฉ ืฉืึธืคืขืจ. ื‘ื™ื˜ืข ื˜ืึธืŸ ืึทื– ื•ื•ืขืŸ ืื™ืจ ืœื•ื™ืคืŸ ืึท Buildah ืงืึทื ื˜ื™ื™ื ืขืจ ื•ื•ืึธืก ื ื™ืฆื˜ Fuse, ืื™ืจ ืžื•ื–ืŸ ืฆื•ืฉื˜ืขืœืŸ ื“ื™ /dev/fuse ืžื™ื˜ืœ.

podman run --device /dev/fuse quay.io/buildahctr ...
RUN mkdir -p /var/lib/shared/overlay-images /var/lib/shared/overlay-layers; touch /var/lib/shared/overlay-images/images.lock; touch /var/lib/shared/overlay-layers/layers.lock

ื•ื•ื™ื™ึทื˜ืขืจ ืžื™ืจ ืžืึทื›ืŸ ืึท ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืคึฟืึทืจ ื ืึธืš ืกื˜ืึธืจื™ื“ื–ืฉ. ืงืึทื ื˜ื™ื™ื ืขืจ / ืกื˜ืึธืจื™ื“ื–ืฉ ืฉื˜ื™ืฆื˜ ื“ืขื ื‘ืึทื’ืจื™ืฃ ืคื•ืŸ ืงืึทื ืขืงื˜ื™ื ื’ ื ืึธืš ืœื™ื™ืขื ืขืŸ-ื‘ืœื•ื™ื– ื‘ื™ืœื“ ืกื˜ืึธืจื–. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื™ืจ ืงืขื ืขืŸ ืงืึทื ืคื™ื’ื™ืขืจ ืึท ืึธื•ื•ื•ืขืจืœื™ื™ ืกื˜ืึธืจื™ื“ื–ืฉ ื’ืขื’ื ื˜ ืื•ื™ืฃ ืื™ื™ืŸ ืžืึทืฉื™ืŸ, ืื•ืŸ ื“ืขืžืึธืœื˜ ื ื•ืฆืŸ NFS ืฆื• ืึธื ืงืœืึทืคึผืŸ ื“ืขื ืกื˜ืึธืจื™ื“ื–ืฉ ืื•ื™ืฃ ืืŸ ืื ื“ืขืจ ืžืึทืฉื™ืŸ ืื•ืŸ ื ื•ืฆืŸ ื‘ื™ืœื“ืขืจ ืคึฟื•ืŸ ืขืก ืึธืŸ ื“ืึทื•ื ืœืึธื•ื“ื™ื ื’ ื“ื•ืจืš ืฆื™ืขืŸ. ืžื™ืจ ื“ืึทืจืคึฟืŸ ื“ืขื ืกื˜ืึธืจื™ื“ื–ืฉ ืื™ืŸ ืกื“ืจ ืฆื• ืงืขื ืขืŸ ืฆื• ืคืึทืจื‘ื™ื ื“ืŸ ืขื˜ืœืขื›ืข ื‘ื™ืœื“ ืกื˜ืึธืจื™ื“ื–ืฉ ืคึฟื•ืŸ ื“ืขืจ ื‘ืึทืœืขื‘ืึธืก ื•ื•ื™ ืึท ื‘ืึทื ื“ ืื•ืŸ ื ื•ืฆืŸ ืขืก ืื™ืŸ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ.

# Set up environment variables to note that this is
# not starting with user namespace and default to
# isolate the filesystem with chroot.
ENV _BUILDAH_STARTED_IN_USERNS="" BUILDAH_ISOLATION=chroot

ืฆื•ื ืกื•ืฃ, ื“ื•ืจืš ื ื™ืฆืŸ ื“ื™ BUILDAH_ISOLATION ืกื•ื•ื™ื•ื•ืข ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง, ืžื™ืจ ื–ืึธื’ืŸ ื“ื™ Buildah ืงืึทื ื˜ื™ื™ื ืขืจ ืฆื• ืœื•ื™ืคืŸ ืžื™ื˜ ื˜ืฉืจืึธืึธื˜ ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜. ื ืึธืš ื™ื ืกืึทืœื™ื™ืฉืึทืŸ ืื™ื– ื ื™ืฉื˜ ืคืืจืœืื ื’ื˜ ื“ืึธ, ื•ื•ื™ื™ึทืœ ืžื™ืจ ื–ืขื ืขืŸ ืฉื•ื™ืŸ ืืจื‘ืขื˜ืŸ ืื™ืŸ ืึท ืงืึทื ื˜ื™ื™ื ืขืจ. ื›ึผื“ื™ Buildah ืฆื• ืฉืึทืคึฟืŸ ื–ื™ื™ืŸ ืื™ื™ื’ืขื ืข ื ืึทืžืขืกืคึผื™ื™ืก ืืคื’ืขืฉื™ื™ื“ื˜ ืงืึทื ื˜ื™ื™ื ืขืจื–, ื“ื™ SYS_ADMIN ืคึผืจื™ื•ื•ื™ืœืขื’ื™ืข ืื™ื– ืคืืจืœืื ื’ื˜, ื•ื•ืึธืก ื•ื•ืึธืœื˜ ื“ืึทืจืคืŸ ืจื™ืœืึทืงืกื™ื ื’ ื“ื™ SELinux ืื•ืŸ SECCOMP ื›ึผืœืœื™ื ืคื•ืŸ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ, ื•ื•ืึธืก ืื™ื– ืคืึทืจืงืขืจื˜ ืฆื• ืื•ื ื“ื–ืขืจ ื™ื™ื‘ืขืจื”ืึทื ื˜ ืฆื• ื‘ื•ื™ืขืŸ ืคึฟื•ืŸ ืึท ื–ื™ื›ืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ.

ืคืœื™ืกื ื“ื™ืง Buildah ืื™ืŸ ืึท ืงืึทื ื˜ื™ื™ื ืขืจ

ื“ื™ Buildah ืงืึทื ื˜ื™ื™ื ืขืจ ื‘ื™ืœื“ ื“ื™ืึทื’ืจืึทืžืข ื“ื™ืกืงืึทืกื˜ ืื•ื™ื‘ืŸ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืคืœืขืงืกืึทื‘ืึทืœ ื‘ื™ื™ึทื˜ืŸ ื“ื™ ืžืขื˜ื”ืึธื“ืก ืคื•ืŸ ืœืึธื ื˜ืฉื™ื ื’ ืึทื–ืึท ืงืึทื ื˜ื™ื™ื ืขืจื–.

ื’ื™ื›ืงื™ื™ึทื˜ ืงืขื’ืŸ ื–ื™ื›ืขืจืงื™ื™ึทื˜

ืงืึธืžืคึผื™ื•ื˜ืขืจ ื–ื™ื›ืขืจื”ื™ื™ื˜ ืื™ื– ืฉื˜ืขื ื“ื™ืง ืึท ืงืึธืžืคึผืจืึธืžื™ืก ืฆื•ื•ื™ืฉืŸ ื“ื™ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ ื“ืขื ืคึผืจืึธืฆืขืก ืื•ืŸ ื•ื•ื™ ืคื™ืœ ืฉื•ืฅ ืื™ื– ืืœื ื’ืขื•ื•ื™ืงืœื˜ ืึทืจื•ื ืื™ื. ื“ื™ ื“ืขืจืงืœืขืจื•ื ื’ ืื™ื– ืื•ื™ืš ืืžืช ื•ื•ืขืŸ ืึทืกืขืžื‘ืึทืœื™ื ื’ ืงืึทื ื˜ื™ื™ื ืขืจื–, ืึทื–ื•ื™ ืื•ื ื˜ืŸ ืžื™ืจ ื•ื•ืขืœืŸ ื‘ืึทื˜ืจืึทื›ื˜ืŸ ืึธืคึผืฆื™ืขืก ืคึฟืึทืจ ืึทื–ืึท ืึท ืงืึธืžืคึผืจืึธืžื™ืก.

ื“ื™ ืื•ื™ื‘ืŸ ื“ื™ืกืงืึทืกื˜ ืงืึทื ื˜ื™ื™ื ืขืจ ื‘ื™ืœื“ ื•ื•ืขื˜ ื”ืึทืœื˜ืŸ ื–ื™ื™ืŸ ืกื˜ืึธืจื™ื“ื–ืฉ ืื™ืŸ /var/lib/containers. ื“ืขืจื™ื‘ืขืจ, ืžื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืึธื ืงืœืึทืคึผืŸ ื“ืขื ืื™ื ื”ืึทืœื˜ ืื™ืŸ ื“ืขื ื˜ืขืงืข, ืื•ืŸ ื•ื•ื™ ืžื™ืจ ื˜ืึธืŸ ื“ืึธืก ื•ื•ืขื˜ ื–ื™ื™ืขืจ ื•ื•ื™ืจืงืŸ ื“ื™ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ ื‘ื•ื™ืขืŸ ืงืึทื ื˜ื™ื™ื ืขืจ ื‘ื™ืœื“ืขืจ.

ื–ืืœ ืก ื‘ืึทื˜ืจืึทื›ื˜ืŸ ื“ืจื™ื™ึท ืึธืคึผืฆื™ืขืก.

Option 1. ืื•ื™ื‘ ืžืึทืงืกื™ืžื•ื ื–ื™ื›ืขืจื”ื™ื™ื˜ ืื™ื– ืคืืจืœืื ื’ื˜, ืคึฟืึทืจ ื™ืขื“ืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ ืื™ืจ ืงืขื ืขืŸ ืžืึทื›ืŸ ื“ื™ื™ืŸ ืื™ื™ื’ืขื ืข ื˜ืขืงืข ืคึฟืึทืจ ืงืึทื ื˜ื™ื™ื ืขืจื– / ื‘ื™ืœื“ ืื•ืŸ ืคืึทืจื‘ื™ื ื“ืŸ ืขืก ืฆื• ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ ื“ื•ืจืš ื‘ืึทื ื“-ื‘ืืจื’. ืื•ืŸ ืื•ื™ืกืขืจื“ืขื, ืฉื˜ืขืœืŸ ื“ื™ ืงืึธื ื˜ืขืงืกื˜ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืื™ืŸ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ ื–ื™ืš, ืื™ืŸ ื“ื™ / ื‘ื•ื™ืขืŸ ื˜ืขืงืข:

# mkdir /var/lib/containers1
# podman run -v ./build:/build:z -v /var/lib/containers1:/var/lib/containers:Z quay.io/buildah/stable
buildah  -t image1 bud /build
# podman run -v /var/lib/containers1:/var/lib/containers:Z quay.io/buildah/stable buildah  push  image1 registry.company.com/myuser
# rm -rf /var/lib/containers1

ื–ื™ื›ืขืจื”ื™ื™ึทื˜. Buildah ืคืœื™ืกื ื“ื™ืง ืื™ืŸ ืึทื–ืึท ืึท ืงืึทื ื˜ื™ื™ื ืขืจ ื”ืื˜ ืžืึทืงืกื™ืžื•ื ื–ื™ื›ืขืจื”ื™ื™ื˜: ืขืก ืื™ื– ื ื™ืฉื˜ ื’ืขื’ืขื‘ืŸ ืงื™ื™ืŸ ื•ื•ืึธืจืฆืœ ืคึผืจื™ื•ื•ื™ืœืึทื“ื–ืฉืึทื– ื ื™ืฆืŸ ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื–, ืื•ืŸ ืึทืœืข SECOMP ืื•ืŸ SELinux ืจื™ืกื˜ืจื™ืงืฉืึทื ื– ืึทืคึผืœื™ื™ื– ืฆื• ืขืก. 0:100000.

ืคืึธืจืฉื˜ืขืœื•ื ื’. ืึธื‘ืขืจ ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ื“ืึธ ืื™ื– ืžื™ื ื™ืžืึทืœ, ื•ื•ื™ื™ึทืœ ืงื™ื™ืŸ ื‘ื™ืœื“ืขืจ ืคื•ืŸ ืงืึทื ื˜ื™ื™ื ืขืจ ืจืขื’ื™ืกื˜ืจื™ื– ื–ืขื ืขืŸ ืงืึทืคึผื™ื“ ืฆื• ื“ืขืจ ื‘ืึทืœืขื‘ืึธืก ื™ืขื“ืขืจ ืžืึธืœ, ืื•ืŸ ืงืึทื˜ืฉื™ื ื’ ื˜ื•ื˜ ื ื™ืฉื˜ ืึทืจื‘ืขื˜ืŸ. ื•ื•ืขืŸ ืงืึทืžืคึผืœื™ื˜ื™ื ื’ ื–ื™ื™ืŸ ืึทืจื‘ืขื˜, ื“ื™ ื‘ื™ืœื“ืึทื” ืงืึทื ื˜ื™ื™ื ืขืจ ืžื•ื–ืŸ ืฉื™ืงืŸ ื“ื™ ื‘ื™ืœื“ ืฆื• ื“ื™ ืจืขื’ื™ืกื˜ืจื™ ืื•ืŸ ืฆืขืฉื˜ืขืจืŸ ื“ื™ ืื™ื ื”ืึทืœื˜ ืื•ื™ืฃ ื“ืขืจ ื‘ืึทืœืขื‘ืึธืก. ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ืžืึธืœ ื“ื™ ืงืึทื ื˜ื™ื™ื ืขืจ ื‘ื™ืœื“ ืื™ื– ื’ืขื‘ื•ื™ื˜, ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื“ืึทื•ื ืœืึธื•ื“ื™ื“ ืคื•ืŸ ื“ื™ ืจืขื’ื™ืกื˜ืจื™ ื•ื•ื™ื“ืขืจ, ื•ื•ื™ื™ึทืœ ืื™ืŸ ื“ืขืจ ืฆื™ื™ื˜ ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืึธืจื ื™ืฉื˜ ืœื™ื ืงืก ืื•ื™ืฃ ื“ืขืจ ื‘ืึทืœืขื‘ืึธืก.

Option 2. ืื•ื™ื‘ ืื™ืจ ื“ืึทืจืคึฟืŸ ื“ืึธืงืงืขืจ-ืžื“ืจื’ื” ืคืึธืจืฉื˜ืขืœื•ื ื’, ืื™ืจ ืงืขื ืขืŸ ืึธื ืงืœืึทืคึผืŸ ื“ื™ ื‘ืึทืœืขื‘ืึธืก ืงืึทื ื˜ื™ื™ื ืขืจ / ืกื˜ืึธืจื™ื“ื–ืฉ ื’ืœื™ื™ึทืš ืื™ืŸ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ.

# podman run -v ./build:/build:z -v /var/lib/containers:/var/lib/containers --security-opt label:disabled quay.io/buildah/stable buildah  -t image2 bud /build
# podman run -v /var/lib/containers:/var/lib/containers --security-opt label:disabled  quay.io/buildah/stable buildah push image2 registry.company.com/myuser

ื–ื™ื›ืขืจื”ื™ื™ึทื˜. ื“ืึธืก ืื™ื– ื“ืขืจ ืงืœืขื ืกื˜ืขืจ ื–ื™ื›ืขืจ ื•ื•ืขื’ ืฆื• ื‘ื•ื™ืขืŸ ืงืึทื ื˜ื™ื™ื ืขืจื– ื•ื•ื™ื™ึทืœ ืขืก ืึทืœืึทื•ื– ื“ื™ ืงืึทื ื˜ื™ื™ื ืขืจ ืฆื• ืžืึธื“ื™ืคื™ืฆื™ืจืŸ ื“ื™ ืกื˜ืึธืจื™ื“ื–ืฉ ืื•ื™ืฃ ื“ืขืจ ื‘ืึทืœืขื‘ืึธืก ืื•ืŸ ืงืขืŸ ืคึผืึทื˜ืขื ื˜ืฉืึทืœื™ ืงืึธืจืžืขืŸ ืคึผืึธื“ืžืึทืŸ ืึธื“ืขืจ CRI-O ืึท ื‘ื™ื™ื–ืข ื‘ื™ืœื“. ืื™ืŸ ืึทื“ื™ืฉืึทืŸ, ืื™ืจ ื•ื•ืขื˜ ื“ืึทืจืคึฟืŸ ืฆื• ื“ื™ืกื™ื™ื‘ืึทืœ SELinux ืฆืขืฉื™ื™ื“ื•ื ื’ ืึทื–ื•ื™ ืึทื– ืคึผืจืึทืกืขืกืึทื– ืื™ืŸ ื“ื™ Buildah ืงืึทื ื˜ื™ื™ื ืขืจ ืงืขื ืขืŸ ื™ื ื˜ืขืจืึทืงื˜ ืžื™ื˜ ื“ื™ ืกื˜ืึธืจื™ื“ื–ืฉ ืื•ื™ืฃ ื“ืขืจ ื‘ืึทืœืขื‘ืึธืก. ื‘ืึทืžืขืจืงื•ื ื’ ืึทื– ื“ื™ ืึธืคึผืฆื™ืข ืื™ื– ื ืึธืš ื‘ืขืกืขืจ ื•ื•ื™ ืึท ื“ืึธืงืงืขืจ ื›ืึธืœืขืœ ื•ื•ื™ื™ึทืœ ื“ืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ ืื™ื– ืคืืจืฉืคืืจื˜ ื“ื•ืจืš ื“ื™ ืจื•ืขืŸ ื–ื™ื›ืขืจื”ื™ื™ื˜ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืื•ืŸ ืงืขื ืขืŸ ื ื™ืฉื˜ ืคืฉื•ื˜ ืœื•ื™ืคืŸ ืึท ืงืึทื ื˜ื™ื™ื ืขืจ ืื•ื™ืฃ ื“ืขืจ ื‘ืึทืœืขื‘ืึธืก.

ืคืึธืจืฉื˜ืขืœื•ื ื’. ื“ืึธ ืขืก ืื™ื– ืžืึทืงืกื™ืžื•ื, ื–ื™ื ื˜ ืงืึทื˜ืฉื™ื ื’ ืื™ื– ื’ืึธืจ ื’ืขื ื™ืฆื˜. ืื•ื™ื‘ ืคึผืึธื“ืžืึทืŸ ืึธื“ืขืจ CRI-O ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ื“ืึทื•ื ืœืึธื•ื“ื™ื“ ื“ื™ ืคืืจืœืื ื’ื˜ ื‘ื™ืœื“ ืฆื• ื“ืขืจ ื‘ืึทืœืขื‘ืึธืก, ื“ืขืจ Buildah ืคึผืจืึธืฆืขืก ืื™ืŸ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ ื•ื•ืขื˜ ื ื™ืฉื˜ ื”ืึธื‘ืŸ ืฆื• ืึธืคึผืœืึธื“ื™ืจืŸ ืขืก ื•ื•ื™ื“ืขืจ, ืื•ืŸ ืกืึทื‘ืกืึทืงื•ื•ืึทื ื˜ ื‘ื•ื™ืขืŸ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ืขื ื‘ื™ืœื“ ื•ื•ืขื˜ ืื•ื™ืš ืงืขื ืขืŸ ืฆื• ื ืขืžืขืŸ ื•ื•ืึธืก ื–ื™ื™ ื“ืึทืจืคึฟืŸ ืคื•ืŸ ื“ื™ ืงืึทืฉ. .

Option 3. ื“ื™ ืขืกืึทื ืก ืคื•ืŸ ื“ืขื ืื•ืคึฟืŸ ืื™ื– ืฆื• ืคืึทืจื‘ื™ื ื“ืŸ ืขื˜ืœืขื›ืข ื‘ื™ืœื“ืขืจ ืื™ืŸ ืื™ื™ืŸ ืคึผืจื•ื™ืขืงื˜ ืžื™ื˜ ืึท ืคึผืจืึธืกื˜ ื˜ืขืงืข ืคึฟืึทืจ ืงืึทื ื˜ื™ื™ื ืขืจ ื‘ื™ืœื“ืขืจ.

# mkdir /var/lib/project3
# podman run --security-opt label_level=s0:C100, C200 -v ./build:/build:z 
-v /var/lib/project3:/var/lib/containers:Z quay.io/buildah/stable buildah  -t image3 bud /build
# podman run --security-opt label_level=s0:C100, C200 
-v /var/lib/project3:/var/lib/containers quay.io/buildah/stable buildah push image3  registry.company.com/myuser

ืื™ืŸ ื“ืขื ื‘ื™ื™ึทืฉืคึผื™ืœ, ืžื™ืจ ื˜ืึธืŸ ื ื™ื˜ ื•ื™ืกืžืขืงืŸ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ื˜ืขืงืข (/var/lib/project3) ืฆื•ื•ื™ืฉืŸ ืจืึทื ื–, ืึทื–ื•ื™ ืึทืœืข ืกืึทื‘ืกืึทืงื•ื•ืึทื ื˜ ื‘ื•ื™ืขืŸ ืื™ืŸ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ื ื•ืฅ ืคื•ืŸ ืงืึทื˜ืฉื™ื ื’.

ื–ื™ื›ืขืจื”ื™ื™ึทื˜. ืขืคึผืขืก ืื™ืŸ ืฆื•ื•ื™ืฉืŸ ืึธืคึผืฆื™ืขืก 1 ืื•ืŸ 2. ืื•ื™ืฃ ื“ื™ ืื™ื™ืŸ ื”ืึทื ื˜, ืงืึทื ื˜ื™ื™ื ืขืจื– ื˜ืึธืŸ ื ื™ื˜ ื”ืึธื‘ืŸ ืฆื•ื˜ืจื™ื˜ ืฆื• ืื™ื ื”ืึทืœื˜ ืื•ื™ืฃ ื“ืขืจ ื‘ืึทืœืขื‘ืึธืก ืื•ืŸ, ืึทืงืึธืจื“ื™ื ื’ืœื™, ืงืขื ืขืŸ ื ื™ืฉื˜ ืฆืขื˜ืœ ืขืคึผืขืก ืฉืœืขื›ื˜ ืื™ืŸ ื“ื™ ืคึผืึธื“ืžืึทืŸ / ืงืจื™-ืึธ ื‘ื™ืœื“ ืกื˜ืึธืจื™ื“ื–ืฉ. ืื•ื™ืฃ ื“ื™ ืื ื“ืขืจืข ื”ืึทื ื˜, ื•ื•ื™ ืึท ื˜ื™ื™ืœ ืคื•ืŸ ื–ื™ื™ึทืŸ ืคึผืœืึทืŸ, ืึท ืงืึทื ื˜ื™ื™ื ืขืจ ืงืขื ืขืŸ ืึทืจื™ื™ึทื ืžื™ืฉื  ื–ื™ืš ืžื™ื˜ ื“ื™ ืคึฟืึทืจื–ืึทืžืœื•ื ื’ ืคื•ืŸ ืื ื“ืขืจืข ืงืึทื ื˜ื™ื™ื ืขืจื–.

ืคืึธืจืฉื˜ืขืœื•ื ื’. ื“ืึธ ืขืก ืื™ื– ืขืจื’ืขืจ ื•ื•ื™ ื•ื•ืขืŸ ืื™ืจ ื ื•ืฆืŸ ืึท ืฉืขืจื“ ืงืึทืฉ ืื•ื™ืฃ ื“ืขืจ ื‘ืึทืœืขื‘ืึธืก ืžื“ืจื’ื”, ื•ื•ื™ื™ึทืœ ืื™ืจ ืงืขื ืขืŸ ื ื™ืฉื˜ ื ื•ืฆืŸ ื‘ื™ืœื“ืขืจ ื•ื•ืึธืก ื–ืขื ืขืŸ ืฉื•ื™ืŸ ื“ืึทื•ื ืœืึธื•ื“ื™ื“ ืžื™ื˜ Podman / CRI-O. ืึธื‘ืขืจ, ืึทืžืึธืœ Buildah ื“ืึทื•ื ืœืึธื•ื“ื– ื“ื™ ื‘ื™ืœื“, ื“ื™ ื‘ื™ืœื“ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืื™ืŸ ืงื™ื™ืŸ ืกืึทื‘ืกืึทืงื•ื•ืึทื ื˜ ื‘ื•ื™ืขืŸ ืื™ืŸ ื“ื™ ืคึผืจื•ื™ืขืงื˜.

ื ืึธืš ืกื˜ืึธืจื™ื“ื–ืฉ

ะฃ ืงืึทื ื˜ื™ื™ื ืขืจื– / ืกื˜ืึธืจื™ื“ื–ืฉ ืขืก ืื™ื– ืึทื–ืึท ืึท ืงื™ืœ ื–ืึทืš ื•ื•ื™ ื ืึธืš ืกื˜ืึธืจื– (ื ืึธืš ืกื˜ืึธืจื–), ื“ืึทื ืง ืฆื• ื•ื•ืึธืก ื•ื•ืขืŸ ืงืึทื˜ืขืจ ืื•ืŸ ื‘ื ื™ืŸ ืงืึทื ื˜ื™ื™ื ืขืจื–, ืงืึทื ื˜ื™ื™ื ืขืจ ืขื ื“ื–ืฉืึทื ื– ืงืขื ืขืŸ ื ื•ืฆืŸ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ื‘ื™ืœื“ ืกื˜ืึธืจื– ืื™ืŸ ืœื™ื™ืขื ืขืŸ-ื‘ืœื•ื™ื– ืึธื•ื•ื•ืขืจืœื™ื™ ืžืึธื“ืข. ื™ืกืขื ืฉืึทืœื™, ืื™ืจ ืงืขื ืขืŸ ืœื™ื™ื’ืŸ ืื™ื™ืŸ ืึธื“ืขืจ ืžืขืจ ืœื™ื™ืขื ืขืŸ-ื‘ืœื•ื™ื– ืกื˜ืึธืจื™ื“ื–ืฉ ืฆื• ื“ื™ storage.conf ื˜ืขืงืข ืึทื–ื•ื™ ืึทื– ื•ื•ืขืŸ ืื™ืจ ืึธื ื”ื™ื™ื‘ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ, ื“ืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ ืžืึธื˜ืึธืจ ืงื•ืงื˜ ืคึฟืึทืจ ื“ื™ ื’ืขื•ื•ืืœื˜ ื‘ื™ืœื“ ืื™ืŸ ื–ื™ื™. ื“ืขืจืฆื•, ืขืก ื•ื•ืขื˜ ืืจืืคืงืืคื™ืข ื“ื™ ื‘ื™ืœื“ ืคึฟื•ืŸ ื“ื™ ืจืขื’ื™ืกื˜ืจื™ ื‘ืœื•ื™ื– ืื•ื™ื‘ ืขืก ืงืขืŸ ื ื™ืฉื˜ ื’ืขืคึฟื™ื ืขืŸ ืขืก ืื™ืŸ ืงื™ื™ืŸ ืคื•ืŸ ื“ื™ ืกื˜ืึธืจื™ื“ื–ืฉ. ื“ืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ ืžืึธื˜ืึธืจ ื•ื•ืขื˜ ื ืึธืจ ืงืขื ืขืŸ ืฆื• ืฉืจื™ื™ึทื‘ืŸ ืฆื• ืจื™ื™ื˜ืึทื‘ืึทืœ ืกื˜ืึธืจื™ื“ื–ืฉ ...

ืื•ื™ื‘ ืื™ืจ ืžืขื’ื™ืœืข ืึทืจื•ื™ืฃ ืื•ืŸ ืงื•ืง ืื™ืŸ ื“ื™ Dockerfile ื•ื•ืึธืก ืžื™ืจ ื ื•ืฆืŸ ืฆื• ื‘ื•ื™ืขืŸ ื“ื™ ื‘ื™ืœื“ quay.io/buildah/stable, ืขืก ื–ืขื ืขืŸ ืฉื•ืจื•ืช ื•ื•ื™ ื“ืึธืก:

# Adjust storage.conf to enable Fuse storage.
RUN sed -i -e 's|^#mount_program|mount_program|g' -e '/additionalimage.*/a "/var/lib/shared",' /etc/containers/storage.conf
RUN mkdir -p /var/lib/shared/overlay-images /var/lib/shared/overlay-layers; touch /var/lib/shared/overlay-images/images.lock; touch /var/lib/shared/overlay-layers/layers.lock

ืื™ืŸ ื“ืขืจ ืขืจืฉื˜ืขืจ ืฉื•ืจื”, ืžื™ืจ ืžืึธื“ื™ืคื™ืฆื™ืจืŸ /etc/containers/storage.conf ืื™ืŸ ื“ื™ ืงืึทื ื˜ื™ื™ื ืขืจ ื‘ื™ืœื“, ืื•ืŸ ื–ืึธื’ืŸ ื“ื™ ืกื˜ืึธืจื™ื“ื–ืฉ ืฉืึธืคืขืจ ืฆื• ื ื•ืฆืŸ "ื ืึธืš ื‘ื™ืœื“ืกื˜ืึธืจื–" ืื™ืŸ ื“ื™ /var/lib/shared folder. ืื•ืŸ ืื™ืŸ ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ืฉื•ืจื” ืžื™ืจ ืžืึทื›ืŸ ืึท ืฉืขืจื“ ื˜ืขืงืข ืื•ืŸ ืœื™ื™ื’ืŸ ืึท ืคึผืึธืจ ืคื•ืŸ ืฉืœืึธืก ื˜ืขืงืขืก ืึทื–ื•ื™ ืึทื– ืขืก ืื™ื– ืงื™ื™ืŸ ื–ื™ื“ืœืขืŸ ืคื•ืŸ ืงืึทื ื˜ื™ื™ื ืขืจื– / ืกื˜ืึธืจื™ื“ื–ืฉ. ื™ืกืขื ืฉืึทืœื™, ืžื™ืจ ื–ืขื ืขืŸ ืคืฉื•ื˜ ืงืจื™ื™ื™ื˜ื™ื ื’ ืึท ืœื™ื™ื“ื™ืง ืงืึทื ื˜ื™ื™ื ืขืจ ื‘ื™ืœื“ ืงืจืึธื.

ืื•ื™ื‘ ืื™ืจ ืึธื ืงืœืึทืคึผืŸ ืงืึทื ื˜ื™ื™ื ืขืจื– / ืกื˜ืึธืจื™ื“ื–ืฉ ืื™ืŸ ืึท ืžื“ืจื’ื” ื”ืขื›ืขืจ ื•ื•ื™ ื“ืขื ื˜ืขืงืข, Buildah ืงืขื ืขืŸ ื ื•ืฆืŸ ื“ื™ ื‘ื™ืœื“ืขืจ.

ืื™ืฆื˜ ืœืึธืžื™ืจ ืฆื•ืจื™ืงืงื•ืžืขืŸ ืฆื• ืึธืคึผืฆื™ืข 2 ื“ื™ืกืงืึทืกื˜ ืื•ื™ื‘ืŸ, ื•ื•ืขืŸ ื“ื™ Buildah ืงืึทื ื˜ื™ื™ื ืขืจ ืงืขื ืขืŸ ืœื™ื™ืขื ืขืŸ ืื•ืŸ ืฉืจื™ื™ึทื‘ืŸ ืฆื• ืงืึทื ื˜ื™ื™ื ืขืจื– / ืงืจืึธื ืื•ื™ืฃ ื“ื™ ืžื—ื ื•ืช ืื•ืŸ, ืึทืงืึธืจื“ื™ื ื’ืœื™, ื”ืื˜ ืžืึทืงืกื™ืžื•ื ืคืึธืจืฉื˜ืขืœื•ื ื’ ืจืขื›ื˜ ืฆื• ืงืึทื˜ืฉื™ื ื’ ื‘ื™ืœื“ืขืจ ืื•ื™ืฃ ื“ื™ ืคึผืึธื“ืžืึทืŸ / CRI-O ืžื“ืจื’ื”, ืึธื‘ืขืจ ื’ื™ื˜ ืึท ืžื™ื ื™ืžื•ื ืคื•ืŸ ื–ื™ื›ืขืจื”ื™ื™ื˜ ื–ื™ื ื˜ ืขืก ืงืขื ืขืŸ ืฉืจื™ื™ึทื‘ืŸ ื’ืœื™ื™ึทืš ืฆื• ืกื˜ืึธืจื™ื“ื–ืฉ. ืื™ืฆื˜ ืœืึธื–ืŸ ืื•ื ื“ื– ืœื™ื™ื’ืŸ ื ืึธืš ืกื˜ืึธืจื™ื“ื–ืฉ ื“ืึธ ืื•ืŸ ื‘ืึทืงื•ืžืขืŸ ื“ื™ ื‘ืขืกื˜ืขืจ ืคื•ืŸ ื‘ื™ื™ื“ืข ื•ื•ืขืœื˜ืŸ.

# mkdir /var/lib/containers4
# podman run -v ./build:/build:z -v /var/lib/containers/storage:/var/lib/shared:ro -v  /var/lib/containers4:/var/lib/containers:Z  quay.io/buildah/stable 
 buildah  -t image4 bud /build
# podman run -v /var/lib/containers/storage:/var/lib/shared:ro  
-v >/var/lib/containers4:/var/lib/containers:Z quay.io/buildah/stable buildah push image4  registry.company.com/myuser
# rm -rf /var/lib/continers4

ื‘ืึทืžืขืจืงื•ื ื’ ืึทื– ื“ืขืจ ื‘ืึทืœืขื‘ืึธืก /var/lib/containers/storage ืื™ื– ืžืึธื•ื ื˜ืขื“ ืฆื• /var/lib/shared ืื™ืŸ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ ืื™ืŸ ืœื™ื™ืขื ืขืŸ-ื‘ืœื•ื™ื– ืžืึธื“ืข. ื“ืขืจื™ื‘ืขืจ, ืืจื‘ืขื˜ืŸ ืื™ืŸ ืึท ืงืึทื ื˜ื™ื™ื ืขืจ, Buildah ืงืขื ืขืŸ ื ื•ืฆืŸ ืงื™ื™ืŸ ื‘ื™ืœื“ืขืจ ื•ื•ืึธืก ื–ืขื ืขืŸ ืคืจื™ืขืจ ื“ืึทื•ื ืœืึธื•ื“ื™ื“ ืžื™ื˜ Podman / CRI-O (ื”ืขืœื, ื’ื™ื›ืงื™ื™ึทื˜), ืึธื‘ืขืจ ืงืขื ืขืŸ ื‘ืœื•ื™ื– ืฉืจื™ื™ึทื‘ืŸ ืฆื• ื–ื™ื™ืŸ ืื™ื™ื’ืขื ืข ืกื˜ืึธืจื™ื“ื–ืฉ (ื”ืขืœื, ื–ื™ื›ืขืจื”ื™ื™ื˜). ืื•ื™ืš ื˜ืึธืŸ ืึทื– ื“ืึธืก ืื™ื– ื“ื•ืจื›ื’ืขืงืึธื›ื˜ ืึธืŸ ื“ื™ืกื™ื™ื‘ืึทืœื™ื ื’ SELinux ืฆืขืฉื™ื™ื“ื•ื ื’ ืคึฟืึทืจ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ.

Important nuance

ืื™ืŸ ืงื™ื™ืŸ ืฆื•ืฉื˜ืื ื“ืŸ ื–ืึธืœ ืื™ืจ ื•ื™ืกืžืขืงืŸ ืงื™ื™ืŸ ื‘ื™ืœื“ืขืจ ืคื•ืŸ ื“ื™ ืึทื ื“ืขืจืœื™ื™ื™ื ื’ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™. ืึทื ื“ืขืจืฉ, ื“ื™ Buildah ืงืึทื ื˜ื™ื™ื ืขืจ ืงืขืŸ ืงืจืึทืš.

ืื•ืŸ ื“ืึธืก ื–ืขื ืขืŸ ื ื™ืฉื˜ ืึทืœืข ื“ื™ ืึทื“ื•ื•ืึทื ื˜ื™ื“ื–ืฉื™ื–

ื“ื™ ืคึผืึทืกืึทื‘ื™ืœืึทื˜ื™ื– ืคื•ืŸ ื ืึธืš ืกื˜ืึธืจื™ื“ื–ืฉ ื–ืขื ืขืŸ ื ื™ืฉื˜ ืœื™ืžื™ื˜ืขื“ ืฆื• ื“ื™ ืื•ื™ื‘ืŸ ืกืฆืขื ืึทืจ. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื™ืจ ืงืขื ืขืŸ ืฉื˜ืขืœืŸ ืึทืœืข ืงืึทื ื˜ื™ื™ื ืขืจ ื‘ื™ืœื“ืขืจ ืื•ื™ืฃ ืึท ืฉืขืจื“ ื ืขืฅ ืกื˜ืึธืจื™ื“ื–ืฉ ืื•ืŸ ื’ืขื‘ืŸ ืึทืงืกืขืก ืฆื• ืขืก ืฆื• ืึทืœืข Buildah ืงืึทื ื˜ื™ื™ื ืขืจื–. ื–ืืœ ืก ื–ืึธื’ืŸ ืžื™ืจ ื”ืึธื‘ืŸ ื”ื•ื ื“ืขืจื˜ืขืจ ืคื•ืŸ ื‘ื™ืœื“ืขืจ ื•ื•ืึธืก ืื•ื ื“ื–ืขืจ ืกื™ / ืกื™ ืกื™ืกื˜ืขื ืงืขืกื™ื™ื“ืขืจ ื ื™ืฆื˜ ืฆื• ื‘ื•ื™ืขืŸ ืงืึทื ื˜ื™ื™ื ืขืจ ื‘ื™ืœื“ืขืจ. ืžื™ืจ ืงืึทื ืกืึทื ื˜ืจื™ื™ื˜ ืึทืœืข ื“ื™ ื‘ื™ืœื“ืขืจ ืื•ื™ืฃ ืื™ื™ืŸ ืกื˜ืึธืจื™ื“ื–ืฉ ื‘ืึทืœืขื‘ืึธืก ืื•ืŸ ื“ืขืจื ืึธืš, ื ื™ืฆืŸ ื“ื™ ื‘ื™ืœื›ืขืจ ื ืขืฅ ืกื˜ืึธืจื™ื“ื–ืฉ ืžื›ืฉื™ืจื™ื (NFS, Gluster, Ceph, ISCSI, S3 ...), ืžื™ืจ ืขืคืขื ืขืŸ ืึทืœื’ืขืžื™ื™ืŸ ืึทืงืกืขืก ืฆื• ื“ืขื ืกื˜ืึธืจื™ื“ื–ืฉ ืฆื• ืึทืœืข Buildah ืึธื“ืขืจ Kubernetes ื ืึธื•ื“ื–.

ืื™ืฆื˜ ืขืก ืื™ื– ื’ืขื ื•ื’ ืฆื• ืึธื ืงืœืึทืคึผืŸ ื“ืขื ื ืขืฅ ืกื˜ืึธืจื™ื“ื–ืฉ ืื™ืŸ ื“ื™ Buildah ืงืึทื ื˜ื™ื™ื ืขืจ ืื•ื™ืฃ /var/lib/shared ืื•ืŸ ื“ืึธืก ืื™ื– ืขืก - Buildah ืงืึทื ื˜ื™ื™ื ืขืจื– ื”ืึธื‘ืŸ ื ื™ื˜ ืžืขืจ ืฆื• ืึธืคึผืœืึธื“ื™ืจืŸ ื‘ื™ืœื“ืขืจ ื“ื•ืจืš ืฆื™ืขืŸ. ืื–ื•ื™, ืžื™ืจ ื•ื•ืึทืจืคืŸ ื“ื™ ืคืึทืจ-ื‘ืึทืคืขืœืงืขืจื•ื ื’ ืคืึทืกืข ืื•ืŸ ื–ืขื ืขืŸ ื’ืœื™ื™ืš ื’ืจื™ื™ื˜ ืฆื• ืจืึธื•ืœื“ ืื•ื™ืก ื“ื™ ืงืึทื ื˜ื™ื™ื ืขืจื–.

ืื•ืŸ ื“ืึธืš, ื“ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืื™ืŸ ืึท ืœืขื‘ืŸ Kubernetes ืกื™ืกื˜ืขื ืึธื“ืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ืฆื• ืงืึทื˜ืขืจ ืื•ืŸ ืœื•ื™ืคืŸ ืงืึทื ื˜ื™ื™ื ืขืจื– ืขืจื’ืขืฅ ืึธืŸ ืงื™ื™ืŸ ื“ืึทื•ื ืœืึธื•ื“ื™ื ื’ ืคื•ืŸ ื‘ื™ืœื“ืขืจ. ื“ืขืจืฆื•, ื“ื™ ืงืึทื ื˜ื™ื™ื ืขืจ ืจืขื’ื™ืกื˜ืจื™, ื‘ืืงื•ืžืขืŸ ืึท ืฉื˜ื•ืคึผืŸ ื‘ืขื˜ืŸ ืฆื• ืฆื•ืคึฟืขืœื™ืงืขืจ ืึท ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ื‘ื™ืœื“ ืฆื• ืขืก, ืงืขื ืขืŸ ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ืฉื™ืงืŸ ื“ืขื ื‘ื™ืœื“ ืฆื• ืึท ืฉืขืจื“ ื ืขืฅ ืกื˜ืึธืจื™ื“ื–ืฉ, ื•ื•ื• ืขืก ืื™ื– ื’ืœื™ื™ืš ื‘ื ื™ืžืฆื ืฆื• ืึทืœืข ื ืึธื•ื“ื–.

ืงืึทื ื˜ื™ื™ื ืขืจ ื‘ื™ืœื“ืขืจ ืงืขื ืขืŸ ืžืืœ ื“ืขืจื’ืจื™ื™ื›ืŸ ืคื™ืœืข ื’ื™ื’ืื‘ื™ื™ื˜ ืื™ืŸ ื’ืจื™ื™ืก. ื“ื™ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืคื•ืŸ ื ืึธืš ืกื˜ืึธืจื™ื“ื–ืฉ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื•ื™ืกืžื™ื™ื“ืŸ ืงืœืึธื•ื ื™ื ื’ ืึทื–ืึท ื‘ื™ืœื“ืขืจ ืึทืจื™ื‘ืขืจ ื ืึธื•ื“ื– ืื•ืŸ ืžืื›ื˜ ื“ื™ ืงืึทื˜ืขืจ ืคื•ืŸ ืงืึทื ื˜ื™ื™ื ืขืจื– ื›ึผืžืขื˜ ื’ืœื™ื™ืš.

ืื™ืŸ ืึทื“ื™ืฉืึทืŸ, ืžื™ืจ ื–ืขื ืขืŸ ื“ืขืจื•ื•ื™ื™ึทืœ ืืจื‘ืขื˜ืŸ ืื•ื™ืฃ ืึท ื ื™ื™ึทืข ืฉื˜ืจื™ืš ื’ืขืจื•ืคืŸ ืึธื•ื•ื•ืขืจืœื™ื™ ื‘ืึทื ื“ ืžืึทื•ื ืฅ, ื•ื•ืึธืก ื•ื•ืขื˜ ืžืึทื›ืŸ ื‘ื ื™ืŸ ืงืึทื ื˜ื™ื™ื ืขืจื– ืืคื™ืœื• ืคืึทืกื˜ืขืจ.

ืกืึธืฃ

ืœื•ื™ืคืŸ Buildah ืื™ืŸ ืึท ืงืึทื ื˜ื™ื™ื ืขืจ ืื™ืŸ Kubernetes/CRI-O, Podman ืึธื“ืขืจ ืืคื™ืœื• ื“ืึธืงืขืจ ืื™ื– ืคื™ื–ืึทื‘ืึทืœ, ืคึผืฉื•ื˜ ืื•ืŸ ืคื™ืœ ืžืขืจ ื–ื™ื›ืขืจ ื•ื•ื™ ื ื™ืฆืŸ docker.socket. ืžื™ืจ ื”ืึธื‘ืŸ ืฉื˜ืืจืง ื’ืขื•ื•ืืงืกืŸ ื“ื™ ื‘ื™ื™ื’ื™ืงื™ื™ื˜ ืคื•ืŸ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ื‘ื™ืœื“ืขืจ, ืึทื–ื•ื™ ืื™ืจ ืงืขื ืขืŸ ืœื•ื™ืคืŸ ื–ื™ื™ ืื™ืŸ ืึท ืคืึทืจืฉื™ื™ื“ื ืงื™ื™ึทื˜ ืคื•ืŸ ื•ื•ืขื’ืŸ ืฆื• ืึทืคึผื˜ืึทืžื™ื™ื– ื“ื™ ื•ื•ืึธื’ ืฆื•ื•ื™ืฉืŸ ื–ื™ื›ืขืจื”ื™ื™ื˜ ืื•ืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’.

ื“ื™ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืคื•ืŸ ื ืึธืš ืกื˜ืึธืจื™ื“ื–ืฉ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืคืึทืจื’ื™ื›ืขืจืŸ ืึธื“ืขืจ ืืคื™ืœื• ื’ืึธืจ ืขืœื™ืžื™ื ื™ืจืŸ ื“ื™ ื“ืึทื•ื ืœืึธื•ื“ื™ื ื’ ืคื•ืŸ ื‘ื™ืœื“ืขืจ ืฆื• ื ืึธื•ื“ื–.

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’