αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Buildah αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžαžΊαž“αŸαžš

αžαžΎβ€‹αž’αŸ’αžœαžΈβ€‹αž‘αŸ…β€‹αž‡αžΆβ€‹αžŸαŸ„αž—αŸαžŽαž—αžΆαž–β€‹αž“αŸƒβ€‹αž€αžΆαžšβ€‹αž”αŸ†αž”αŸ‚αž€β€‹αž€αž»αž„αžαžΊαž“αŸαžšβ€‹αž–αŸαž›β€‹αžšαžαŸ‹β€‹αž‘αŸ…β€‹αž‡αžΆβ€‹αžŸαž˜αžΆαžŸαž’αžΆαžαž»β€‹αž§αž”αž€αžšαžŽαŸβ€‹αžŠαžΆαž…αŸ‹β€‹αžŠαŸ„αž™β€‹αž‘αŸ‚αž€? αž‡αžΆαž–αž·αžŸαŸαžŸαž§αž”αž€αžšαžŽαŸαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž’αžΆαž…αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™αž–αž½αž€αž‚αŸαž€αžΆαžšαž–αžΆαžšαž‚αŸ’αž“αžΆαž‘αŸ…αžœαž·αž‰αž‘αŸ…αž˜αž€αŸ”

αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Buildah αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžαžΊαž“αŸαžš

αž˜αž“αž»αžŸαŸ’αžŸαž‡αžΆαž…αŸ’αžšαžΎαž“αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž“αžΉαž„αž‚αŸ†αž“αž·αžαž“αŸƒαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαžšαžΌαž”αž—αžΆαž– OCI αžŠαŸ‚αž›αž˜αžΆαž“αž•αŸ’αž‘αž»αž€αž“αŸ…αžαžΆαž„αž€αŸ’αž“αž»αž„ Kubernetes αž¬αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαŸ” αž…αžΌαžšαž“αž·αž™αžΆαž™αžαžΆαž™αžΎαž„αž˜αžΆαž“ CI/CD αžŠαŸ‚αž›αž”αŸ’αžšαž˜αžΌαž›αžšαžΌαž”αž—αžΆαž–αž₯αžαžˆαž”αŸ‹αžˆαžš αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž’αŸ’αžœαžΈαž˜αž½αž™αžŠαžΌαž…αž‡αžΆ αž˜αž½αž€αž€αŸ’αžšαž αž˜αž’αžΌαžŸαž’αŸαžŸ/ Kubernetes αž“αžΉαž„αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαžŽαžΆαžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž›αž€αŸ’αžαžαžŽαŸ’αžŒαž“αŸƒαžαž»αž›αŸ’αž™αž—αžΆαž–αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž€αŸ†αž‘αž»αž„αž–αŸαž›αž”αž„αŸ’αž€αžΎαžαŸ” αžšαž αžΌαžαž˜αž€αžŠαž›αŸ‹αž–αŸαž›αžαŸ’αž˜αžΈαŸ—αž“αŸαŸ‡ αž˜αž“αž»αžŸαŸ’αžŸαž—αžΆαž‚αž…αŸ’αžšαžΎαž“αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž•αŸ’αžαž›αŸ‹αž€αž»αž„αžαžΊαž“αŸαžšαž…αžΌαž›αž”αŸ’αžšαžΎαžšαž“αŸ’αž’ Docker αž αžΎαž™αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž–αž½αž€αž‚αŸαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž”αž„αŸ’αž€αžΎαž docker αŸ” αž€αžΆαž›αž–αžΈαž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αž†αŸ’αž“αžΆαŸ†αž˜αž»αž“αž™αžΎαž„αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αžαžΆαž˜αž–αž·αžαžœαžΆαž˜αž·αž“αž˜αžΆαž“αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž‘αŸ αžœαžΆαž–αž·αžαž‡αžΆαž’αžΆαž€αŸ’αžšαž€αŸ‹αž‡αžΆαž„αž€αžΆαžšαž•αŸ’αžαž›αŸ‹αž‡αžΆ root ឬ sudo αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αŸ”

αž“αŸ„αŸ‡αž αžΎαž™αž‡αžΆαž˜αžΌαž›αž αŸαžαž»αžŠαŸ‚αž›αž˜αž“αž»αžŸαŸ’αžŸαžαŸ‚αž„αžαŸ‚αž–αŸ’αž™αžΆαž™αžΆαž˜αžšαžαŸ‹ Buildah αž“αŸ…αž€αŸ’αž“αž»αž„αž’αž»αž„αž˜αž½αž™αŸ” αž“αž·αž™αžΆαž™αž±αŸ’αž™αžαŸ’αž›αžΈαž™αžΎαž„αž”αžΆαž“αž”αž„αŸ’αž€αžΎαž αž§αž‘αžΆαž αžšαžŽαŸ αžαžΆαž˜αž‚αŸ†αž“αž·αžαžšαž”αžŸαŸ‹αž™αžΎαž„αž‚αžΊαž›αŸ’αž’αž”αŸ†αž•αž»αžαž€αŸ’αž“αž»αž„αž€αžΆαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Buildah αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžαžΊαž“αŸαžš αž αžΎαž™αž”αž„αŸ’αž αŸ„αŸ‡αžšαžΌαž”αž—αžΆαž–αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž“αŸ…αž›αžΎ quay.io/buildah. αžαŸ„αŸ‡β€‹αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜...

αž€αžΆαžšαž›αŸƒαžαž˜αŸ’αžšαžΌαžœ

αžšαžΌαž”αž—αžΆαž–αž‘αžΆαŸ†αž„αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž–αžΈ 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 αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž“αŸ…αž€αž˜αŸ’αžšαž·αžαžαžΊαžŽαŸ‚αž›αž›αžΈαž“αž»αž…αžšαž”αžŸαŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ αž™αžΎαž„αž”αŸ’αžšαžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αžαžΆαž„αž€αŸ’αž“αž»αž„αž€αž»αž„αžαžΊαž“αŸαžš fuse-overlayαž–αžΈαž–αŸ’αžšαŸ„αŸ‡αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ OverlayFS αž’αžΆαž…αž˜αŸ‰αŸ„αž“αž”αžΆαž“αž›αž»αŸ‡αžαŸ’αžšαžΆαžαŸ‚αž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αžœαžΆαž“αžΌαžœαž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαž SYS_ADMIN αžŠαŸ„αž™αž”αŸ’αžšαžΎαžŸαž˜αžαŸ’αžαž—αžΆαž–αž›αžΈαž“αž»αž…αŸ” αž αžΎαž™αž™αžΎαž„αž…αž„αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αž»αž„ Buildah αžšαž”αžŸαŸ‹αž™αžΎαž„αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αžŸαž·αž‘αŸ’αž’αž·αž‡αžΆ root αžŽαžΆαž˜αž½αž™αž‘αžΎαž™αŸ” 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 αž±αŸ’αž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‡αžΆαž˜αž½αž™ chroot αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αŸ” αž€αžΆαžšαž’αŸŠαžΈαžŸαžΌαž‘αž„αŸ‹αž”αž“αŸ’αžαŸ‚αž˜αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αžΆαž˜αž‘αžΆαžšαž“αŸ…αž‘αžΈαž“αŸαŸ‡αž‘αŸ αžŠαŸ„αž™αžŸαžΆαžšαž™αžΎαž„αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžαžΊαž“αŸαžšαžšαž½αž…αž αžΎαž™αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™ Buildah αž”αž„αŸ’αž€αžΎαžαž€αž»αž„αžαžΊαž“αŸαžšαžŠαŸ‚αž›αž”αŸ†αž”αŸ‚αž€αžŠαŸ„αž™αž…αž“αŸ’αž›αŸ„αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“ αž―αž€αžŸαž·αž‘αŸ’αž’αž· SYS_ADMIN αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αžΆαž˜αž‘αžΆαžš αžŠαŸ‚αž›αžαž˜αŸ’αžšαžΌαžœαž±αŸ’αž™αž˜αžΆαž“αž€αžΆαžšαž”αž“αŸ’αž’αžΌαžšαž”αž“αŸ’αžαž™αž…αŸ’αž”αžΆαž”αŸ‹ SELinux αž“αž·αž„ SECOMP αžšαž”αžŸαŸ‹αž€αž»αž„αžαžΊαž“αŸαžš αžŠαŸ‚αž›αž•αŸ’αž‘αž»αž™αž‘αŸ…αž“αžΉαž„αž…αŸ†αžŽαžΌαž›αž…αž·αžαŸ’αžαžšαž”αžŸαŸ‹αž™αžΎαž„αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαžΆαž„αžŸαž„αŸ‹αž–αžΈαž€αž»αž„αžαžΊαž“αŸαžšαžŠαŸ‚αž›αž˜αžΆαž“αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αŸ”

αž€αŸ†αž–αž»αž„αžšαžαŸ‹ Buildah αž“αŸ…αž€αŸ’αž“αž»αž„αž’αž»αž„αž˜αž½αž™αŸ”

αžŠαŸ’αž™αžΆαž€αŸ’αžšαžΆαž˜αžšαžΌαž”αž—αžΆαž–αž€αž»αž„αžαžΊαž“αŸαžš Buildah αžŠαŸ‚αž›αž”αžΆαž“αž–αž·αž—αžΆαž€αŸ’αžŸαžΆαžαžΆαž„αž›αžΎαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž“αŸƒαž€αžΆαžšαž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αž»αž„αž”αŸ‚αž”αž“αŸαŸ‡αžŠαŸ„αž™αž”αžαŸ‹αž”αŸ‚αž“αŸ”

αž›αŸ’αž”αžΏαž“αž’αŸ€αž”αž“αžΉαž„αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–

αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαž‚αžΊαžαŸ‚αž„αžαŸ‚αž˜αžΆαž“αž€αžΆαžšαžŸαž˜αŸ’αžšαž”αžŸαž˜αŸ’αžšαž½αž›αžšαžœαžΆαž„αž›αŸ’αž”αžΏαž“αž“αŸƒαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž“αž·αž„αž…αŸ†αž“αž½αž“αž€αžΆαžšαž€αžΆαžšαž–αžΆαžšαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž»αŸ†αž–αŸαž‘αŸ’αž’αž‡αž»αŸ†αžœαž·αž‰αžœαžΆαŸ” αžŸαŸαž…αž€αŸ’αžαžΈαžαŸ’αž›αŸ‚αž„αž€αžΆαžšαžŽαŸαž“αŸαŸ‡αž€αŸαž‡αžΆαž€αžΆαžšαž–αž·αžαž•αž„αžŠαŸ‚αžšαž“αŸ…αž–αŸαž›αžŠαŸ†αž‘αžΎαž„αž€αž»αž„αžαžΊαž“αŸαžš αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž“αŸαŸ‡αž™αžΎαž„αž“αžΉαž„αž–αž·αž…αžΆαžšαžŽαžΆαž‡αž˜αŸ’αžšαžΎαžŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŸαž˜αŸ’αžšαž”αžŸαž˜αŸ’αžšαž½αž›αž”αŸ‚αž”αž“αŸαŸ‡αŸ”

αžšαžΌαž”αž—αžΆαž–αž€αž»αž„αžαžΊαž“αŸαžšαžŠαŸ‚αž›αž”αžΆαž“αž–αž·αž—αžΆαž€αŸ’αžŸαžΆαžαžΆαž„αž›αžΎαž“αžΉαž„αžšαž€αŸ’αžŸαžΆαž€αžΆαžšαž•αŸ’αž‘αž»αž€αžšαž”αžŸαŸ‹αžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„ /var/lib/containers αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž αžΎαž™ αž™αžΎαž„αžαŸ’αžšαžΌαžœαž—αŸ’αž‡αžΆαž”αŸ‹αž˜αžΆαžαž·αž€αžΆαž‘αŸ…αž€αŸ’αž“αž»αž„αžαžαž“αŸαŸ‡ αž αžΎαž™αžšαž”αŸ€αž”αžŠαŸ‚αž›αž™αžΎαž„αž’αŸ’αžœαžΎαžœαžΆαž“αžΉαž„αž‡αŸ‡αž₯αž‘αŸ’αž’αž·αž–αž›αž™αŸ‰αžΆαž„αžαŸ’αž›αžΆαŸ†αž„αžŠαž›αŸ‹αž›αŸ’αž”αžΏαž“αž“αŸƒαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαžšαžΌαž”αž—αžΆαž–αž€αž»αž„αžαžΊαž“αŸαžšαŸ”

αž…αžΌαžšαž™αžΎαž„αž–αž·αž…αžΆαžšαžŽαžΆαž‡αž˜αŸ’αžšαžΎαžŸαž”αžΈαŸ”

αžœαŸ‰αžΆαžšαŸ’αž™αŸ‰αž„αŸ‹ 1 αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž’αžαž·αž”αžšαž˜αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αžΆαž˜αž‘αžΆαžš αž“αŸ„αŸ‡αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž»αž„αžαžΊαž“αŸαžšαž“αžΈαž˜αž½αž™αŸ— αž’αŸ’αž“αž€αž’αžΆαž…αž”αž„αŸ’αž€αžΎαžαžαžαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž»αž„αžαžΊαž“αŸαžš/αžšαžΌαž”αž—αžΆαž– αž αžΎαž™αž—αŸ’αž‡αžΆαž”αŸ‹αžœαžΆαž‘αŸ…αž€αž»αž„αžαžΊαž“αŸαžšαžαžΆαž˜αžšαž™αŸˆ volume-mount αŸ” αž αžΎαž™αž€αŸ’αžšαŸ…αž–αžΈαž“αŸαŸ‡ αžŠαžΆαž€αŸ‹αžαžαž”αžšαž·αž”αž‘αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžαžΊαž“αŸαžšαžαŸ’αž›αž½αž“αžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αžαž /build:

# 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 αžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžαžΊαž“αŸαžšαž”αŸ‚αž”αž“αŸαŸ‡αž˜αžΆαž“αžŸαž“αŸ’αžαž·αžŸαž»αžαž’αžαž·αž”αžšαž˜αžΆαŸ– αžœαžΆαž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αžŸαž·αž‘αŸ’αž’αž·αž‡αžΆ root αžŽαžΆαž˜αž½αž™αžŠαŸ„αž™αž”αŸ’αžšαžΎαžŸαž˜αžαŸ’αžαž—αžΆαž–αž‘αŸ αž αžΎαž™αž€αžΆαžšαžšαžΉαžαž”αž“αŸ’αžαžΉαž„ SECOMP αž“αž·αž„ SELinux αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž…αŸ†αž–αŸ„αŸ‡αžœαžΆαŸ” αž’αž»αž„αž”αŸ‚αž”αž“αŸαŸ‡αž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αžΆαž“αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž‰αŸ‚αž€αžˆαŸ’αž˜αŸ„αŸ‡αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŠαŸ„αž™αž”αž“αŸ’αžαŸ‚αž˜αž‡αž˜αŸ’αžšαžΎαžŸαžŠαžΌαž…αž‡αžΆ β€”uidmap 0αŸ– 100000:10000αŸ”

αž€αžΆαžšαžŸαž˜αŸ’αžαŸ‚αž„αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž“αŸ…αž‘αžΈαž“αŸαŸ‡αž‚αžΊαžαž·αž…αžαž½αž…αž”αŸ†αž•αž»αž αžŠαŸ„αž™αžŸαžΆαžšαžšαžΌαž”αž—αžΆαž–αžŽαžΆαž˜αž½αž™αž–αžΈαž€αžΆαžšαž…αž»αŸ‡αž”αž‰αŸ’αž‡αžΈαž€αž»αž„αžαžΊαž“αŸαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αž˜αŸ’αž›αž„αž‘αŸ…αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžšαžΆαž›αŸ‹αž–αŸαž› αž αžΎαž™αž€αžΆαžšαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αžΆαž›αŸ‹αžαŸ‚αžŸαŸ„αŸ‡αŸ” αž“αŸ…αž–αŸαž›αž”αž‰αŸ’αž…αž”αŸ‹αž€αžΆαžšαž„αžΆαžšαžšαž”αžŸαŸ‹αžœαžΆαž€αž»αž„αžαžΊαž“αŸαžš Buildah αžαŸ’αžšαžΌαžœαžαŸ‚αž•αŸ’αž‰αžΎαžšαžΌαž”αž—αžΆαž–αž‘αŸ…αž”αž‰αŸ’αž‡αžΈαžˆαŸ’αž˜αŸ„αŸ‡αž αžΎαž™αž”αŸ†αž•αŸ’αž›αžΆαž‰αž˜αžΆαžαž·αž€αžΆαž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αŸ” αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αžšαžΌαž”αž—αžΆαž–αž€αž»αž„αžαžΊαž“αŸαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž›αžΎαž€αž€αŸ’αžšαŸ„αž™ αžœαžΆαž“αžΉαž„αžαŸ’αžšαžΌαžœαž‘αžΆαž‰αž™αž€αž–αžΈαž”αž‰αŸ’αž‡αžΈαžˆαŸ’αž˜αŸ„αŸ‡αž˜αŸ’αžαž„αž‘αŸ€αž αž–αŸ’αžšαŸ„αŸ‡αž“αŸ…αž–αŸαž›αž“αŸ„αŸ‡αžœαžΆαž“αžΉαž„αž˜αž·αž“αž˜αžΆαž“αž’αŸ’αžœαžΈαž“αŸ…αžŸαž›αŸ‹αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž‘αŸαŸ”

αžœαŸ‰αžΆαžšαŸ’αž™αŸ‰αž„αŸ‹ 2 αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžšαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž€αž˜αŸ’αžšαž·αž Docker αž’αŸ’αž“αž€αž’αžΆαž…αž—αŸ’αž‡αžΆαž”αŸ‹ host container/storage αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž‘αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžαžΊαž“αŸαžšαŸ”

# 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

αžŸαž“αŸ’αžαž·αžŸαž»αžαŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžœαž·αž’αžΈαžŠαŸ‚αž›αž˜αžΆαž“αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αžαž·αž…αž”αŸ†αž•αž»αžαž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαžΆαž„αžŸαž„αŸ‹αž€αž»αž„αžαžΊαž“αŸαžš αž–αŸ’αžšαŸ„αŸ‡αžœαžΆαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž€αž»αž„αžαžΊαž“αŸαžšαž€αŸ‚αž”αŸ’αžšαŸ‚αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ αž αžΎαž™αž’αžΆαž…αž•αŸ’αžαž›αŸ‹αž…αŸ†αžŽαžΈαžŠαž›αŸ‹ Podman ឬ CRI-O αžšαžΌαž”αž—αžΆαž–αž–αŸ’αž™αžΆαž”αžΆαž‘αŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αž αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αž·αž‘αž€αžΆαžšαž”αŸ†αž”αŸ‚αž€ SELinux αžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžαžΊαž“αŸαžš Buildah αž’αžΆαž…αž’αŸ’αžœαžΎαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αŸ” αž…αŸ†αžŽαžΆαŸ†αžαžΆαž‡αž˜αŸ’αžšαžΎαžŸαž“αŸαŸ‡αž“αŸ…αžαŸ‚αž”αŸ’αžšαžŸαžΎαžšαž‡αžΆαž„αžšαž“αŸ’αž’ Docker αž–αžΈαž–αŸ’αžšαŸ„αŸ‡αž€αž»αž„αžαžΊαž“αŸαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΆαž€αŸ‹αžŸαŸ„αžŠαŸ„αž™αž˜αž»αžαž„αžΆαžšαžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αžŠαŸ‚αž›αž“αŸ…αžŸαž›αŸ‹ αž αžΎαž™αž˜αž·αž“αž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž»αž„αžαžΊαž“αŸαžšαž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž”αžΆαž“αž‘αŸαŸ”

αž€αžΆαžšαžŸαž˜αŸ’αžαŸ‚αž„αŸ” αž“αŸ…αž‘αžΈαž“αŸαŸ‡αžœαžΆαž‚αžΊαž’αžαž·αž”αžšαž˜αžΆ αžŠαŸ„αž™αžŸαžΆαžšαžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž™αŸ‰αžΆαž„αž–αŸαž‰αž›αŸαž‰αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎ Podman ឬ CRI-O αž”αžΆαž“αž‘αžΆαž‰αž™αž€αžšαžΌαž”αž—αžΆαž–αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαž‘αŸ…αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžšαž½αž…αž αžΎαž™αž“αŸ„αŸ‡ αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Buildah αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžαžΊαž“αŸαžšαž“αžΉαž„αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž‘αžΆαž‰αž™αž€αžœαžΆαž˜αŸ’αžαž„αž‘αŸ€αžαž‘αŸ αž αžΎαž™αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž‡αžΆαž”αž“αŸ’αžαž”αž“αŸ’αž‘αžΆαž”αŸ‹αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαžšαžΌαž”αž—αžΆαž–αž“αŸαŸ‡αž€αŸαž“αžΉαž„αž’αžΆαž…αž™αž€αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž–αž½αž€αž‚αŸαžαŸ’αžšαžΌαžœαž€αžΆαžšαž–αžΈαžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž•αž„αžŠαŸ‚αžšαŸ” .

αžœαŸ‰αžΆαžšαŸ’αž™αŸ‰αž„αŸ‹ 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 αž”αžΆαž“αž‘αŸαŸ” αž˜αŸ’αž™αŸ‰αžΆαž„αžœαž·αž‰αž‘αŸ€αž αž‡αžΆαž•αŸ’αž“αŸ‚αž€αž“αŸƒαž€αžΆαžšαžšαž…αž“αžΆαžšαž”αžŸαŸ‹αžœαžΆ αž’αž»αž„αž˜αž½αž™αž’αžΆαž…αžšαŸ†αžαžΆαž“αžŠαž›αŸ‹αž€αžΆαžšαž•αŸ’αž‚αž»αŸ†αž’αž»αž„αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ”

αž€αžΆαžšαžŸαž˜αŸ’αžαŸ‚αž„αŸ” αž“αŸ…αž‘αžΈαž“αŸαŸ‡αžœαžΆαž’αžΆαž€αŸ’αžšαž€αŸ‹αž‡αžΆαž„αž–αŸαž›αž”αŸ’αžšαžΎαžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αž“αŸ…αž€αž˜αŸ’αžšαž·αžαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ αžŠαŸ„αž™αžŸαžΆαžšαž’αŸ’αž“αž€αž˜αž·αž“αž’αžΆαž…αž”αŸ’αžšαžΎαžšαžΌαž”αž—αžΆαž–αžŠαŸ‚αž›αž”αžΆαž“αž‘αžΆαž‰αž™αž€αžšαž½αž…αž αžΎαž™αžŠαŸ„αž™αž”αŸ’αžšαžΎ 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 αž“αŸ…αžαžΆαž„αž€αŸ’αž“αž»αž„αžšαžΌαž”αž—αžΆαž–αž€αž»αž„αžαžΊαž“αŸαžš αžŠαŸ„αž™αž”αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž‰αŸ’αž‡αžΆαž•αŸ’αž‘αž»αž€αž±αŸ’αž™αž”αŸ’αžšαžΎ "additionalimagestores" αž“αŸ…αž€αŸ’αž“αž»αž„ /var/lib/shared folderαŸ” αž αžΎαž™αž“αŸ…αž‡αž½αžšαž”αž“αŸ’αž‘αžΆαž”αŸ‹ αž™αžΎαž„αž”αž„αŸ’αž€αžΎαžαžαžαžŠαŸ‚αž›αž”αžΆαž“αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€ αž αžΎαž™αž”αž“αŸ’αžαŸ‚αž˜αž―αž€αžŸαžΆαžšαž…αžΆαž€αŸ‹αžŸαŸ„αž–αžΈαžšαž”αžΈ αžŠαžΎαž˜αŸ’αž”αžΈαž€αž»αŸ†αž±αŸ’αž™αž˜αžΆαž“αž€αžΆαžšαžšαŸ†αž›αŸ„αž—αž”αŸ†αž–αžΆαž“αž–αžΈαž€αž»αž„αžαžΊαž“αŸαžš/αž€αž“αŸ’αž›αŸ‚αž„αž•αŸ’αž‘αž»αž€αŸ” αžŸαŸ†αžαžΆαž“αŸ‹αž™αžΎαž„αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž”αž„αŸ’αž€αžΎαžαžƒαŸ’αž›αžΆαŸ†αž„αž•αŸ’αž‘αž»αž€αžšαžΌαž”αž—αžΆαž–αž‘αž‘αŸαŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžŠαŸ†αž‘αžΎαž„αž€αž»αž„αžαžΊαž“αŸαžš/αž€αž“αŸ’αž›αŸ‚αž„αž•αŸ’αž‘αž»αž€αž“αŸ…αž€αž˜αŸ’αžšαž·αžαžαŸ’αž–αžŸαŸ‹αž‡αžΆαž„αžαžαž“αŸαŸ‡ Buildah αž“αžΉαž„αž’αžΆαž…αž”αŸ’αžšαžΎαžšαžΌαž”αž—αžΆαž–αž”αžΆαž“αŸ”

αž₯αž‘αžΌαžœαž“αŸαŸ‡ αžŸαžΌαž˜αžαŸ’αžšαž›αž”αŸ‹αž‘αŸ…αž‡αž˜αŸ’αžšαžΎαžŸαž‘αžΈ 2 αžŠαŸ‚αž›αž”αžΆαž“αž–αž·αž—αžΆαž€αŸ’αžŸαžΆαžαžΆαž„αž›αžΎ αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αž»αž„αžαžΊαž“αŸαžš Buildah αž’αžΆαž…αž’αžΆαž“ αž“αž·αž„αžŸαžšαžŸαŸαžšαž‘αŸ…αž€αžΆαž“αŸ‹αž€αž»αž„αžαžΊαž“αŸαžš/αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ αž αžΎαž™αžαžΆαž˜αž“αŸ„αŸ‡ αž˜αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžαž·αž”αžšαž˜αžΆαžŠαŸ„αž™αžŸαžΆαžšαž€αžΆαžšαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžšαžΌαž”αž—αžΆαž–αž“αŸ…αž€αž˜αŸ’αžšαž·αž Podman/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 αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž»αž„αžαžΊαž“αŸαžšαŸ”

αž’αž”αŸ’αž”αžšαž˜αžΆαžŸαŸ†αžαžΆαž“αŸ‹

αž˜αž·αž“αžŸαŸ’αžαž·αžαž€αŸ’αžšαŸ„αž˜αž€αžΆαž›αŸˆαž‘αŸαžŸαŸˆαžŽαžΆαž€αŸαžŠαŸ„αž™ αž’αŸ’αž“αž€αž‚αž½αžšαžαŸ‚αž›αž»αž”αžšαžΌαž”αž—αžΆαž–αžŽαžΆαž˜αž½αž™αž…αŸαž‰αž–αžΈαžƒαŸ’αž›αžΆαŸ†αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αŸ” αž”αžΎαž˜αž·αž“αžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž‘αŸαž€αž»αž„αžαžΊαž“αŸαžš Buildah αž’αžΆαž…αž‚αžΆαŸ†αž„αŸ”

αž αžΎαž™αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž‚αž»αžŽαžŸαž˜αŸ’αž”αžαŸ’αžαž·αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ„αŸ‡αž‘αŸαŸ”

αž›αž‘αŸ’αž’αž—αžΆαž–αž“αŸƒαž€αžΆαžšαž•αŸ’αž‘αž»αž€αž”αž“αŸ’αžαŸ‚αž˜αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž…αŸ†αž–αŸ„αŸ‡αžŸαŸαžŽαžΆαžšαžΈαž™αŸ‰αžΌαžαžΆαž„αž›αžΎαž‘αŸαŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž’αŸ’αž“αž€αž’αžΆαž…αžŠαžΆαž€αŸ‹αžšαžΌαž”αž—αžΆαž–αž€αž»αž„αžαžΊαž“αŸαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž›αžΎαž€αž“αŸ’αž›αŸ‚αž„αž•αŸ’αž‘αž»αž€αž”αžŽαŸ’αžαžΆαž‰αžŠαŸ‚αž›αž”αžΆαž“αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€ αž αžΎαž™αž•αŸ’αžαž›αŸ‹αžŸαž·αž‘αŸ’αž’αž·αž…αžΌαž›αž”αŸ’αžšαžΎαžœαžΆαž‘αŸ…αž‚αŸ’αžšαž”αŸ‹αž’αž»αž„ Buildah αŸ” αž§αž”αž˜αžΆαžαžΆαž™αžΎαž„αž˜αžΆαž“αžšαžΌαž”αž—αžΆαž–αžšαžΆαž”αŸ‹αžšαž™αžŠαŸ‚αž›αž”αŸ’αžšαž–αŸαž“αŸ’αž’ CI/CD αžšαž”αžŸαŸ‹αž™αžΎαž„αž”αŸ’αžšαžΎαž‡αžΆαž”αŸ’αžšαž…αžΆαŸ†αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαžαžšαžΌαž”αž—αžΆαž–αž€αž»αž„αžαžΊαž“αŸαžšαŸ” αž™αžΎαž„αž”αŸ’αžšαž˜αžΌαž›αž•αŸ’αžαž»αŸ†αžšαžΌαž”αž—αžΆαž–αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž•αŸ’αž‘αž»αž€αž˜αž½αž™ αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€ αžŠαŸ„αž™αž”αŸ’αžšαžΎαž§αž”αž€αžšαžŽαŸαž•αŸ’αž‘αž»αž€αž”αžŽαŸ’αžαžΆαž‰αžŠαŸ‚αž›αž–αŸαž‰αž…αž·αžαŸ’αž (NFS, Gluster, Ceph, ISCSI, S3...) αž™αžΎαž„αž”αžΎαž€αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‘αžΌαž‘αŸ…αž‘αŸ…αž€αžΆαž“αŸ‹αž€αž“αŸ’αž›αŸ‚αž„αž•αŸ’αž‘αž»αž€αž“αŸαŸ‡αž‘αŸ…αž€αžΆαž“αŸ‹αžαŸ’αž“αžΆαŸ†αž„ Buildah ឬ Kubernetes αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ”

αž₯αž‘αžΌαžœαž“αŸαŸ‡αžœαžΆαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αž αžΎαž™αž€αŸ’αž“αž»αž„αž€αžΆαžšαž—αŸ’αž‡αžΆαž”αŸ‹αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž”αžŽαŸ’αžαžΆαž‰αž“αŸαŸ‡αž‘αŸ…αž€αŸ’αž“αž»αž„αž’αž»αž„ Buildah αž“αŸ…αž›αžΎ /var/lib/shared αž αžΎαž™αž“αŸ„αŸ‡αž αžΎαž™αž‡αžΆαžœαžΆ - αž’αž»αž„ Buildah αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž‘αžΆαž‰αž™αž€αžšαžΌαž”αž—αžΆαž–αžαžΆαž˜αžšαž™αŸˆαž€αžΆαžšαž‘αžΆαž‰αž‘αŸ€αžαž‘αŸαŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž™αžΎαž„β€‹αž”αŸ„αŸ‡αž…αŸ„αž›β€‹αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›β€‹αž˜αž»αž“β€‹αž”αŸ’αžšαž‡αžΆαž‡αž“ αž αžΎαž™β€‹αžαŸ’αžšαŸ€αž˜β€‹αž‡αžΆαžŸαŸ’αžšαŸαž…β€‹αž—αŸ’αž›αžΆαž˜αŸ—β€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αžšαž˜αŸ€αž›β€‹αž…αŸαž‰β€‹αž’αž»αž„αŸ”

αž αžΎαž™αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹ αžœαžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’ Kubernetes αž•αŸ’αž‘αžΆαž›αŸ‹ αž¬αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž€αž»αž„αžαžΊαž“αŸαžš αžŠαžΎαž˜αŸ’αž”αžΈαž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž“αž·αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž»αž„αžαžΊαž“αŸαžšαž‚αŸ’αžšαž”αŸ‹αž‘αžΈαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ„αž™αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž‘αžΆαž‰αž™αž€αžšαžΌαž”αž—αžΆαž–αžŽαžΆαž˜αž½αž™αž‘αžΎαž™αŸ” αž‡αžΆαž„αž“αŸαŸ‡αž‘αŸ…αž‘αŸ€αž αž€αžΆαžšαž…αž»αŸ‡αž”αž‰αŸ’αž‡αžΈαž€αž»αž„αžαžΊαž“αŸαžš αžŠαŸ‚αž›αž‘αž‘αž½αž›αž”αžΆαž“αžŸαŸ†αžŽαžΎαž‡αŸ†αžšαž»αž‰αž±αŸ’αž™αž”αž„αŸ’αž αŸ„αŸ‡αžšαžΌαž”αž—αžΆαž–αžŠαŸ‚αž›αž”αžΆαž“αž’αžΆαž”αŸ‹αžŠαŸαžαž‘αŸ…αžœαžΆ αž’αžΆαž…αž•αŸ’αž‰αžΎαžšαžΌαž”αž—αžΆαž–αž“αŸαŸ‡αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž‘αŸ…αž€αžΆαž“αŸ‹αž€αž“αŸ’αž›αŸ‚αž„αž•αŸ’αž‘αž»αž€αž”αžŽαŸ’αžαžΆαž‰αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€ αžŠαŸ‚αž›αžœαžΆαž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αž—αŸ’αž›αžΆαž˜αŸ—αž…αŸ†αž–αŸ„αŸ‡αžαŸ’αž“αžΆαŸ†αž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ”

αž–αŸαž›αžαŸ’αž›αŸ‡αžšαžΌαž”αž—αžΆαž–αž€αž»αž„αžαžΊαž“αŸαžšαž’αžΆαž…αžˆαžΆαž“αžŠαž›αŸ‹αž‘αŸ†αž αŸ†αž‡αžΆαž…αŸ’αžšαžΎαž“αž‡αžΈαž αŸ’αž‚αžΆαž”αŸƒαŸ” αž˜αž»αžαž„αžΆαžšαž“αŸƒαž€αžΆαžšαž•αŸ’αž‘αž»αž€αž”αž“αŸ’αžαŸ‚αž˜αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž‡αŸ€αžŸαžœαžΆαž„αž€αžΆαžšαž€αŸ’αž›αžΌαž“αžšαžΌαž”αž—αžΆαž–αž”αŸ‚αž”αž“αŸαŸ‡αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αžαŸ’αž“αžΆαŸ†αž„ αž“αž·αž„αž’αŸ’αžœαžΎαž±αŸ’αž™αž€αžΆαžšαž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž»αž„αžαžΊαž“αŸαžšαžŸαŸ’αž‘αžΎαžšαžαŸ‚αž—αŸ’αž›αžΆαž˜αŸ—αŸ”

αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡ αž™αžΎαž„αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž€αžΆαžšαž›αžΎαž˜αž»αžαž„αžΆαžšαžαŸ’αž˜αžΈαž˜αž½αž™αž αŸ…αžαžΆ overlay volume mounts αžŠαŸ‚αž›αž“αžΉαž„αž’αŸ’αžœαžΎαž±αŸ’αž™αž€αžΆαžšαž€αžŸαžΆαž„αž’αž»αž„αž€αžΆαž“αŸ‹αžαŸ‚αž›αžΏαž“αž‡αžΆαž„αž˜αž»αž“αŸ”

αžŸαŸαž…αž€αŸ’αžαžΈαžŸαž“αŸ’αž“αž·αžŠαŸ’αž‹αžΆαž“

αž€αžΆαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Buildah αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžαžΊαž“αŸαžšαž“αŸ…αž€αŸ’αž“αž»αž„ Kubernetes/CRI-O, Podman, αž¬αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚ Docker αž‚αžΊαž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“ αžŸαžΆαž˜αž‰αŸ’αž‰ αž“αž·αž„αž˜αžΆαž“αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž‡αžΆαž„αž€αžΆαžšαž”αŸ’αžšαžΎ docker.socket αŸ” αž™αžΎαž„αž”αžΆαž“αž”αž„αŸ’αž€αžΎαž“αž—αžΆαž–αž”αžαŸ‹αž”αŸ‚αž“αž™αŸ‰αžΆαž„αžαŸ’αž›αžΆαŸ†αž„αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αžšαžΌαž”αž—αžΆαž– αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž’αŸ’αž“αž€αž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž–αž½αž€αžœαžΆαžαžΆαž˜αžœαž·αž’αžΈαž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαž“αžαž»αž›αŸ’αž™αž—αžΆαž–αžšαžœαžΆαž„αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž– αž“αž·αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαŸ”

αž˜αž»αžαž„αžΆαžšαž“αŸƒαž€αžΆαžšαž•αŸ’αž‘αž»αž€αž”αž“αŸ’αžαŸ‚αž˜αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž¬αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž›αž»αž”αž”αŸ†αž”αžΆαžαŸ‹αž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αž“αžΌαžœαž€αžΆαžšαž‘αžΆαž‰αž™αž€αžšαžΌαž”αž—αžΆαž–αž‘αŸ…αžαŸ’αž“αžΆαŸ†αž„αŸ”

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹