เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ€ เช…เช‚เชฆเชฐ เชฌเชฟเชฒเซเชกเชพเชน เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชฎเชพเชฐเซเช—เชฆเชฐเซเชถเชฟเช•เชพ

เช•เชจเซเชŸเซ‡เชจเชฐ เชฐเชจเชŸเชพเช‡เชฎเชจเซ‡ เช…เชฒเช— เชŸเซ‚เชฒเชฟเช‚เช— เช˜เชŸเช•เซ‹เชฎเชพเช‚ เชกเซ€เช•เชชเชฒเชฟเช‚เช— เช•เชฐเชตเชพเชจเซ€ เชธเซเช‚เชฆเชฐเชคเชพ เชถเซเช‚ เช›เซ‡? เช–เชพเชธ เช•เชฐเซ€เชจเซ‡, เช† เชธเชพเชงเชจเซ‹เชจเซ‡ เชœเซ‹เชกเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡ เชœเซ‡เชฅเซ€ เชคเซ‡เช“ เชเช•เชฌเซ€เชœเชพเชจเซ‡ เชธเซเชฐเช•เซเชทเชฟเชค เช•เชฐเซ‡.

เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ€ เช…เช‚เชฆเชฐ เชฌเชฟเชฒเซเชกเชพเชน เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชฎเชพเชฐเซเช—เชฆเชฐเซเชถเชฟเช•เชพ

เช˜เชฃเชพ เชฒเซ‹เช•เซ‹ เช…เช‚เชฆเชฐ เช•เชจเซเชŸเซ‡เชจเชฐเชพเช‡เชเซเชก OCI เช›เชฌเซ€เช“ เชฌเชจเชพเชตเชตเชพเชจเชพ เชตเชฟเชšเชพเชฐ เชคเชฐเชซ เช†เช•เชฐเซเชทเชพเชฏ เช›เซ‡ เช•เซเชฏเซเชฌเชฐเซเชจเซ‡เชŸเชฟเชธ เช…เชฅเชตเชพ เชธเชฎเชพเชจ เชธเชฟเชธเซเชŸเชฎ. เชšเชพเชฒเซ‹ เช•เชนเซ€เช เช•เซ‡ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชเช• CI/CD เช›เซ‡ เชœเซ‡ เชธเชคเชค เช›เชฌเซ€เช“ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเซ‡ เช›เซ‡, เชชเช›เซ€ เช•เช‚เชˆเช• เชเชตเซเช‚ เชฐเซ‡เชก Hat เช“เชชเชจเชถเซ€เชซเซเชŸ/เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฌเชฟเชฒเซเชก เชฆเชฐเชฎเชฟเชฏเชพเชจ เชฒเซ‹เชก เชฌเซ‡เชฒเซ‡เชจเซเชธเชฟเช‚เช—เชจเชพ เชธเช‚เชฆเชฐเซเชญเชฎเชพเช‚ เช–เซ‚เชฌ เช‰เชชเชฏเซ‹เช—เซ€ เชฅเชถเซ‡. เชคเชพเชœเซ‡เชคเชฐเชฎเชพเช‚ เชธเซเชงเซ€, เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ เชฒเซ‹เช•เซ‹เช เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ‡ เชกเซ‹เช•เชฐ เชธเซ‹เช•เซ‡เชŸเชจเซ€ เชเช•เซเชธเซ‡เชธ เช†เชชเซ€ เชนเชคเซ€ เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ‡ เชกเซ‹เช•เชฐ เชฌเชฟเชฒเซเชก เช•เชฎเชพเชจเซเชก เชšเชฒเชพเชตเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ€ เชนเชคเซ€. เช˜เชฃเชพ เชตเชฐเซเชทเซ‹ เชชเชนเซ‡เชฒเชพ เช…เชฎเซ‡ เชฌเชคเชพเชตเซเชฏเซเช‚เช•เซ‡ เช† เช–เซ‚เชฌ เชœ เช…เชธเซเชฐเช•เซเชทเชฟเชค เช›เซ‡, เชตเชพเชธเซเชคเชตเชฎเชพเช‚, เชคเซ‡ เชชเชพเชธเชตเชฐเซเชกเชฒเซ‡เชธ เชฐเซเชŸ เช…เชฅเชตเชพ เชธเซเชกเซ‹ เช†เชชเชตเชพ เช•เชฐเชคเชพเช‚ เชชเชฃ เช–เชฐเชพเชฌ เช›เซ‡.

เชเชŸเชฒเชพ เชฎเชพเชŸเซ‡ เชฒเซ‹เช•เซ‹ เชธเชคเชค เชฌเชฟเชฒเซเชกเชพเชจเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚ เชšเชฒเชพเชตเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ‡ เช›เซ‡. เชŸเซ‚เช‚เช•เชฎเชพเช‚, เช…เชฎเซ‡ เชฌเชจเชพเชตเซเชฏเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เช…เชฎเชพเชฐเชพ เชฎเชคเซ‡, เชฌเชฟเชฒเซเชกเชพเชนเชจเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ€ เช…เช‚เชฆเชฐ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชšเชฒเชพเชตเชตเซเช‚ เชถเซเชฐเซ‡เชทเซเช  เช›เซ‡, เช…เชจเซ‡ เชคเซ‡เชจเชพ เชชเชฐ เช…เชจเซเชฐเซ‚เชช เช›เชฌเซ€เช“ เชชเซ‹เชธเซเชŸ เช•เชฐเซ€ quay.io/buildah. เชšเชพเชฒเซ‹, เชถเชฐเซ เช•เชฐเซ€เช...

เช—เซ‹เช เชตเชฃ

เช† เช›เชฌเซ€เช“ เชกเซ‹เช•เชฐเชซเชพเชˆเชฒเซเชธเชฎเชพเช‚เชฅเซ€ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡, เชœเซ‡ เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เชฌเชฟเชฒเซเชกเชพเชน เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚ เชฎเชณเซ€ เชถเช•เซ‡ เช›เซ‡ เชฌเชฟเชฒเซเชก.
เช…เชนเซ€เช‚ เช†เชชเชฃเซ‡ เชตเชฟเชšเชพเชฐเชฃเชพ เช•เชฐเซ€เชถเซเช‚ เชกเซ‹เช•เชฐเชซเชพเช‡เชฒเชจเซเช‚ เชธเซเชฅเชฟเชฐ เชธเช‚เชธเซเช•เชฐเชฃ.

# 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 เชฎเชพเชคเซเชฐ เชฎเชพเช‰เชจเซเชŸ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เชœเซ‹ เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ Linux เช•เซเชทเชฎเชคเชพเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ SYS_ADMIN เชชเชฐเชตเชพเชจเช—เซ€เช“ เช†เชชเซ‹. เช…เชจเซ‡ เช…เชฎเซ‡ เช…เชฎเชพเชฐเชพ เชฌเชฟเชฒเซเชกเชพเชน เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ‡ เช•เซ‹เชˆเชชเชฃ เชฐเซ‚เชŸ เชตเชฟเชถเซ‡เชทเชพเชงเชฟเช•เชพเชฐเซ‹ เชตเชฟเชจเชพ เชšเชฒเชพเชตเชตเชพ เชฎเชพเช‚เช—เซ€เช เช›เซ€เช. เชซเซเชฏเซเช-เช“เชตเชฐเชฒเซ‡ เช–เซ‚เชฌ เชเชกเชชเชฅเซ€ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ VFS เชธเซเชŸเซ‹เชฐเซ‡เชœ เชกเซเชฐเชพเช‡เชตเชฐ เช•เชฐเชคเชพเช‚ เชตเชงเซ เชธเชพเชฐเซเช‚ เชชเซเชฐเชฆเชฐเซเชถเชจ เชงเชฐเชพเชตเซ‡ เช›เซ‡. เชฎเชนเซ‡เชฐเชฌเชพเชจเซ€ เช•เชฐเซ€เชจเซ‡ เชจเซ‹เช‚เชง เช•เชฐเซ‹ เช•เซ‡ เชœเซเชฏเชพเชฐเซ‡ เชฌเชฟเชฒเซเชกเชพเชน เช•เชจเซเชŸเซ‡เชจเชฐ เชšเชฒเชพเชตเซ‹ เช•เซ‡ เชœเซ‡ เชซเซเชฏเซเชเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡, เชคเชฎเชพเชฐเซ‡ /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 เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชšเชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, เช…เชฎเซ‡ เชฌเชฟเชฒเซเชกเชพเชน เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ‡ เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡ chroot เช†เช‡เชธเซ‹เชฒเซ‡เชถเชจ เชธเชพเชฅเซ‡ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช•เชนเซ€เช เช›เซ€เช. เช…เชนเซ€เช‚ เชตเชงเชพเชฐเชพเชจเชพ เช‡เชจเซเชธเซเชฏเซเชฒเซ‡เชถเชจเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€, เช•เชพเชฐเชฃ เช•เซ‡ เช…เชฎเซ‡ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚ เช•เชพเชฎ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช. เชฌเชฟเชฒเซเชกเชพเชน เชคเซ‡เชจเชพ เชชเซ‹เชคเชพเชจเชพ เชจเซ‡เชฎเชธเซเชชเซ‡เชธ-เชธเซ‡เชชเชฐเซ‡เชŸเซ‡เชก เช•เชจเซเชŸเซ‡เชจเชฐ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, SYS_ADMIN เชตเชฟเชถเซ‡เชทเชพเชงเชฟเช•เชพเชฐ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เช•เชจเซเชŸเซ‡เชจเชฐเชจเชพ SELinux เช…เชจเซ‡ SECOMP เชจเชฟเชฏเชฎเซ‹เชจเซ‡ เชนเชณเชตเชพ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡, เชœเซ‡ เชธเซเชฐเช•เซเชทเชฟเชค เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚เชฅเซ€ เชฌเชจเชพเชตเชตเชพเชจเซ€ เช…เชฎเชพเชฐเซ€ เชชเชธเช‚เชฆเช—เซ€เชจเซ€ เชตเชฟเชฐเซเชฆเซเชง เช›เซ‡.

เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ€ เช…เช‚เชฆเชฐ เชฌเชฟเชฒเซเชกเชพเชน เชšเชพเชฒเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เช‰เชชเชฐ เชšเชฐเซเชšเชพ เช•เชฐเซ‡เชฒ เชฌเชฟเชฒเซเชกเชพเชน เช•เชจเซเชŸเซ‡เชจเชฐ เช‡เชฎเซ‡เชœ เชกเชพเชฏเชพเช—เซเชฐเชพเชฎ เชคเชฎเชจเซ‡ เช†เชตเชพ เช•เชจเซเชŸเซ‡เชจเชฐ เชฒเซ‹เช‚เชš เช•เชฐเชตเชพเชจเซ€ เชชเชฆเซเชงเชคเชฟเช“เชฎเชพเช‚ เชฒเชตเชšเซ€เช• เชฐเซ€เชคเซ‡ เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เชเชกเชช เชตเชฟเชฐเซเชฆเซเชง เชธเชฒเชพเชฎเชคเซ€

เช•เซ‹เชฎเซเชชเซเชฏเซเชŸเชฐ เชธเซเชฐเช•เซเชทเชพ เชนเช‚เชฎเซ‡เชถเชพ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ€ เชเชกเชช เช…เชจเซ‡ เชคเซ‡เชจเซ€ เช†เชธเชชเชพเชธ เช•เซ‡เชŸเชฒเซเช‚ เชฐเช•เซเชทเชฃ เชตเซ€เช‚เชŸเชพเชณเซ‡เชฒเซเช‚ เช›เซ‡ เชคเซ‡ เชตเชšเซเชšเซ‡เชจเซเช‚ เชธเชฎเชพเชงเชพเชจ เช›เซ‡. เช•เชจเซเชŸเซ‡เชจเชฐ เชเชธเซ‡เชฎเซเชฌเชฒ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เช† เชจเชฟเชตเซ‡เชฆเชจ เชชเชฃ เชธเชพเชšเซเช‚ เช›เซ‡, เชคเซ‡เชฅเซ€ เชจเซ€เชšเซ‡ เช…เชฎเซ‡ เช†เชตเชพ เชธเชฎเชพเชงเชพเชจ เชฎเชพเชŸเซ‡เชจเชพ เชตเชฟเช•เชฒเซเชชเซ‹ เชชเชฐ เชตเชฟเชšเชพเชฐ เช•เชฐเซ€เชถเซเช‚.

เช‰เชชเชฐ เชšเชฐเซเชšเชพ เช•เชฐเซ‡เชฒ เช•เชจเซเชŸเซ‡เชจเชฐ เช‡เชฎเซ‡เชœ เชคเซ‡เชจเชพ เชธเช‚เช—เซเชฐเชนเชจเซ‡ /var/lib/containers เชฎเชพเช‚ เชฐเชพเช–เชถเซ‡. เชคเซ‡เชฅเซ€, เช…เชฎเชพเชฐเซ‡ เช† เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เชธเชพเชฎเช—เซเชฐเซ€เชจเซ‡ เชฎเชพเช‰เชจเซเชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เช…เชจเซ‡ เช…เชฎเซ‡ เช† เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเซ€เช เช›เซ€เช เชคเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐ เช›เชฌเซ€เช“ เชฌเชจเชพเชตเชตเชพเชจเซ€ เชเชกเชชเชจเซ‡ เชฎเซ‹เชŸเชพ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช‚ เช…เชธเชฐ เช•เชฐเชถเซ‡.

เชšเชพเชฒเซ‹ เชคเซเชฐเชฃ เชตเชฟเช•เชฒเซเชชเซ‹ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเชˆเช.

1 เชตเชฟเช•เชฒเซเชช. เชœเซ‹ เชฎเชนเชคเซเชคเชฎ เชธเซเชฐเช•เซเชทเชพ เชœเชฐเซ‚เชฐเซ€ เชนเซ‹เชฏ, เชคเซ‹ เชฆเชฐเซ‡เช• เช•เชจเซเชŸเซ‡เชจเชฐ เชฎเชพเชŸเซ‡ เชคเชฎเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐ/เช‡เชฎเซ‡เชœ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเซเช‚ เชชเซ‹เชคเชพเชจเซเช‚ เชซเซ‹เชฒเซเชกเชฐ เชฌเชจเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชตเซ‹เชฒเซเชฏเซเชฎ-เชฎเชพเช‰เชจเซเชŸ เชฆเซเชตเชพเชฐเชพ เช•เชจเซเชŸเซ‡เชจเชฐ เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เช…เชจเซ‡ เช‰เชชเชฐเชพเช‚เชค, เชธเช‚เชฆเชฐเซเชญ เชจเชฟเชฐเซเชฆเซ‡เชถเชฟเช•เชพเชจเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚ เชœ, /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

เชธเซเชฐเช•เซเชทเชพ เช†เชตเชพ เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚ เชšเชพเชฒเชคเชพ เชฌเชฟเชฒเซเชกเชพเชฎเชพเช‚ เชฎเชนเชคเซเชคเชฎ เชธเซเชฐเช•เซเชทเชพ เชนเซ‹เชฏ เช›เซ‡: เชคเซ‡เชจเซ‡ เช•เซเชทเชฎเชคเชพเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เซ‹เชˆเชชเชฃ เชฐเซ‚เชŸ เชตเชฟเชถเซ‡เชทเชพเชงเชฟเช•เชพเชฐเซ‹ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเชคเชพ เชจเชฅเซ€, เช…เชจเซ‡ เชคเซ‡เชจเชพ เชชเชฐ เชคเชฎเชพเชฎ SECOMP เช…เชจเซ‡ SELinux เชชเซเชฐเชคเชฟเชฌเช‚เชงเซ‹ เชฒเชพเช—เซ เชชเชกเซ‡ เช›เซ‡. เช†เชตเชพ เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ‡ โ€”uidmap 0 เชœเซ‡เชตเชพ เชตเชฟเช•เชฒเซเชช เช‰เชฎเซ‡เชฐเซ€เชจเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชจเซ‡เชฎเชธเซเชชเซ‡เชธ เช†เชˆเชธเซ‹เชฒเซ‡เชถเชจ เชธเชพเชฅเซ‡ เชชเชฃ เชšเชฒเชพเชตเซ€ เชถเช•เชพเชฏ เช›เซ‡. 100000: 10000.

เชชเซเชฐเชฆเชฐเซเชถเชจ. เชชเชฐเช‚เชคเซ เช…เชนเซ€เช‚ เชชเซเชฐเชฆเชฐเซเชถเชจ เชจเซเชฏเซ‚เชจเชคเชฎ เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เช•เชจเซเชŸเซ‡เชจเชฐ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€เชฎเชพเช‚เชฅเซ€ เช•เซ‹เชˆเชชเชฃ เช›เชฌเซ€เช“ เชฆเชฐ เชตเช–เชคเซ‡ เชนเซ‹เชธเซเชŸ เชชเชฐ เช•เซ‰เชชเชฟ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช…เชจเซ‡ เช•เซ‡เชถเซ€เช‚เช— เชฌเชฟเชฒเช•เซเชฒ เช•เชพเชฎ เช•เชฐเชคเซเช‚ เชจเชฅเซ€. เชคเซ‡เชจเซเช‚ เช•เชพเชฐเซเชฏ เชชเซ‚เชฐเซเชฃ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชฌเชฟเชฒเซเชกเชพเชน เช•เชจเซเชŸเซ‡เชจเชฐเช เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€เชฎเชพเช‚ เช›เชฌเซ€ เชฎเซ‹เช•เชฒเชตเซ€ เชœเซ‹เชˆเช เช…เชจเซ‡ เชนเซ‹เชธเซเชŸ เชชเชฐเชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€เชจเซ‹ เชจเชพเชถ เช•เชฐเชตเซ‹ เชœเซ‹เชˆเช. เช†เช—เชฒเซ€ เชตเช–เชคเซ‡ เชœเซเชฏเชพเชฐเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ€ เช›เชฌเซ€ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡, เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€เชฎเชพเช‚เชฅเซ€ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเชตเซ€ เชชเชกเชถเซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชธเชฎเชฏ เชธเซเชงเซ€เชฎเชพเช‚ เชนเซ‹เชธเซเชŸ เชชเชฐ เช•เช‚เชˆเชชเชฃ เชฌเชพเช•เซ€ เชฐเชนเซ‡เชถเซ‡ เชจเชนเซ€เช‚.

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 เช เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชœเชฐเซ‚เชฐเซ€ เช‡เชฎเซ‡เชœ เชนเซ‹เชธเซเชŸเชจเซ‡ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ€ เชฒเซ€เชงเซ€ เชนเซ‹เชฏ, เชคเซ‹ เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ€ เช…เช‚เชฆเชฐ เชฌเชฟเชฒเซเชกเชพเชน เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช เชคเซ‡เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชฐเชนเซ‡เชถเซ‡ เชจเชนเซ€เช‚, เช…เชจเซ‡ เช† เช‡เชฎเซ‡เชœ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช…เชจเซเช—เชพเชฎเซ€ เชฌเชฟเชฒเซเชกเซเชธ เชชเชฃ เช•เซ‡เชถเชฎเชพเช‚เชฅเซ€ เชคเซ‡เชฎเชจเซ‡ เชœเซ‡ เชœเซ‹เชˆเช เชคเซ‡ เชฒเชˆ เชถเช•เชถเซ‡. .

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 เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ‡เชฒ เชˆเชฎเซ‡เชœเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เชคเชพ เชจเชฅเซ€. เชœเซ‹ เช•เซ‡, เชเช•เชตเชพเชฐ เชฌเชฟเชฒเซเชกเชพเชนเซ‡ เช‡เชฎเซ‡เชœ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ€ เชฒเซ€เชงเชพ เชชเช›เซ€, เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ€ เช…เช‚เชฆเชฐเชจเชพ เช•เซ‹เชˆเชชเชฃ เช…เชจเซเช—เชพเชฎเซ€ เชฌเชฟเชฒเซเชกเซเชธเชฎเชพเช‚ เช‡เชฎเซ‡เชœเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.

เชตเชงเชพเชฐเชพเชจเซ‹ เชธเช‚เช—เซเชฐเชน

ะฃ เช•เชจเซเชŸเซ‡เชจเชฐ/เชธเซเชŸเซ‹เชฐเซ‡เชœ เชตเชงเชพเชฐเชพเชจเชพ เชธเซเชŸเซ‹เชฐเซเชธ (เชตเชงเชพเชฐเชพเชจเชพ เชธเซเชŸเซ‹เชฐเซเชธ) เชœเซ‡เชตเซ€ เชธเชฐเชธ เชตเชธเซเชคเซ เช›เซ‡, เชœเซ‡เชจเซ‹ เช†เชญเชพเชฐ เช•เชจเซเชŸเซ‡เชจเชฐ เชฒเซ‹เช‚เชš เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เช…เชจเซ‡ เชฌเชจเชพเชตเชคเซ€ เชตเช–เชคเซ‡, เช•เชจเซเชŸเซ‡เชจเชฐ เชเชจเซเชœเชฟเชจ เชฌเชพเชนเซเชฏ เช›เชฌเซ€ เชธเซเชŸเซ‹เชฐเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชซเช•เซเชค เชตเชพเช‚เชšเชตเชพ เชฎเชพเชŸเซ‡เชจเชพ เช“เชตเชฐเชฒเซ‡ เชฎเซ‹เชกเชฎเชพเช‚ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. เช…เชจเชฟเชตเชพเชฐเซเชฏเชชเชฃเซ‡, เชคเชฎเซ‡ เชธเซเชŸเซ‹เชฐเซ‡เชœ.conf เชซเชพเช‡เชฒเชฎเชพเช‚ เชเช• เช…เชฅเชตเชพ เชตเชงเซ เชตเชพเช‚เชšเชตเชพ เชฎเชพเชŸเซ‡เชจเชพ เชธเซเชŸเซ‹เชฐเซ‡เชœ เช‰เชฎเซ‡เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เชœเซ‡เชฅเซ€ เช•เชฐเซ€เชจเซ‡ เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐ เชถเชฐเซ‚ เช•เชฐเซ‹, เชคเซเชฏเชพเชฐเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐ เชเชจเซเชœเชฟเชจ เชคเซ‡เชฎเชพเช‚ เช‡เชšเซเช›เชฟเชค เช‡เชฎเซ‡เชœ เชถเซ‹เชงเซ‡. เชคเชฆเซเชชเชฐเชพเช‚เชค, เชœเซ‹ เชคเซ‡ เช†เชฎเชพเช‚เชจเชพ เช•เซ‹เชˆเชชเชฃ เชธเซเชŸเซ‹เชฐเซ‡เชœเชฎเชพเช‚ เชคเซ‡เชจเซ‡ เชจ เชฎเชณเซ‡ เชคเซ‹ เชœ เชคเซ‡ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€เชฎเชพเช‚เชฅเซ€ เช›เชฌเซ€ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเชถเซ‡. เช•เชจเซเชŸเซ‡เชจเชฐ เชเชจเซเชœเชฟเชจ เชซเช•เซเชค เชฒเช–เซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเชพ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชชเชฐ เชฒเช–เชตเชพเชฎเชพเช‚ เชธเช•เซเชทเชฎ เชนเชถเซ‡...

เชœเซ‹ เชคเชฎเซ‡ เช‰เชชเชฐ เชธเซเช•เซเชฐเซ‹เชฒ เช•เชฐเซ‹ เช…เชจเซ‡ เชกเซ‹เช•เชฐเชซเชพเชˆเชฒ เชœเซเช“ เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช…เชฎเซ‡ เชˆเชฎเซ‡เชœ 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 เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ "additionalimagestores" เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซเช‚ เช•เชนเซ€เช เช›เซ€เช. เช…เชจเซ‡ เช†เช—เชณเชจเซ€ เชฒเซ€เชŸเซ€เชฎเชพเช‚ เช…เชฎเซ‡ เชเช• เชถเซ‡เชฐ เช•เชฐเซ‡เชฒ เชซเซ‹เชฒเซเชกเชฐ เชฌเชจเชพเชตเซ€เช เช›เซ€เช เช…เชจเซ‡ เช•เซ‡เชŸเชฒเซ€เช• เชฒเซ‹เช• เชซเชพเช‡เชฒเซ‹ เช‰เชฎเซ‡เชฐเซ€เช เช›เซ€เช เชœเซ‡เชฅเซ€ เช•เชจเซเชŸเซ‡เชจเชฐ/เชธเซเชŸเซ‹เชฐเซ‡เชœเชจเซ‹ เช•เซ‹เชˆ เชฆเซเชฐเซเชชเชฏเซ‹เช— เชจ เชฅเชพเชฏ. เช†เชตเชถเซเชฏเช•เชชเชฃเซ‡, เช…เชฎเซ‡ เช–เชพเชฒเซ€ เช•เชจเซเชŸเซ‡เชจเชฐ เช‡เชฎเซ‡เชœ เชธเซเชŸเซ‹เชฐ เชฌเชจเชพเชตเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช.

เชœเซ‹ เชคเชฎเซ‡ เช† เชซเซ‹เชฒเซเชกเชฐ เช•เชฐเชคเชพ เชŠเช‚เชšเชพ เชธเซเชคเชฐเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐ/เชธเซเชŸเซ‹เชฐเซ‡เชœ เชฎเชพเช‰เชจเซเชŸ เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เชฌเชฟเชฒเซเชกเชพเชน เชˆเชฎเซ‡เชœเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เชถเซ‡.

เชนเชตเซ‡ เชšเชพเชฒเซ‹ เช‰เชชเชฐ เชšเชฐเซเชšเชพ เช•เชฐเซ‡เชฒ เชตเชฟเช•เชฒเซเชช 2 เชชเชฐ เชชเชพเช›เชพ เชซเชฐเซ€เช, เชœเซเชฏเชพเชฐเซ‡ เชฌเชฟเชฒเซเชกเชพเชน เช•เชจเซเชŸเซ‡เชจเชฐ เชนเซ‹เชธเซเชŸ เชชเชฐเชจเชพ เช•เชจเซเชŸเซ‡เชจเชฐ/เชธเซเชŸเซ‹เชฐ เชชเชฐ เชตเชพเช‚เชšเซ€ เช…เชจเซ‡ เชฒเช–เซ€ เชถเช•เซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡ เชฎเซเชœเชฌ, เชชเซ‹เชกเชฎเซ‡เชจ/เชธเซ€เช†เชฐเช†เชˆ-เช“ เชธเซเชคเชฐเซ‡ เชˆเชฎเซ‡เชœเซ€เชธเชจเซ‡ เช•เซ‡เชถ เช•เชฐเชตเชพเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชฎเชนเชคเซเชคเชฎ เช•เชพเชฎเช—เซ€เชฐเซ€ เชงเชฐเชพเชตเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชจเซเชฏเซ‚เชจเชคเชฎ เชธเซเชฐเช•เซเชทเชพ เชชเซ‚เชฐเซ€ เชชเชพเชกเซ‡ เช›เซ‡. เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชชเชฐ เชธเซ€เชงเซเช‚ เชฒเช–เซ€ เชถเช•เซ‡ เช›เซ‡. เชนเชตเซ‡ เชšเชพเชฒเซ‹ เช…เชนเซ€เช‚ เชตเชงเชพเชฐเชพเชจเซ‹ เชธเซเชŸเซ‹เชฐเซ‡เชœ เช‰เชฎเซ‡เชฐเซ€เช เช…เชจเซ‡ เชฌเช‚เชจเซ‡ เชตเชฟเชถเซเชตเชจเซ€ เชถเซเชฐเซ‡เชทเซเช เชคเชพ เชฎเซ‡เชณเชตเซ€เช.

# 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 เชชเชฐ เชฎเชพเช‰เชจเซเชŸ เชฅเชฏเซ‡เชฒ เช›เซ‡. เชคเซ‡เชฅเซ€, เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚ เช•เชพเชฎ เช•เชฐเซ€เชจเซ‡, เชฌเชฟเชฒเซเชกเชพเชน เชชเซ‹เชกเชฎเซ‡เชจ/เชธเซ€เช†เชฐเช†เชˆ-เช“ (เชนเซ‡เชฒเซ‹, เชธเซเชชเซ€เชก) เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช…เช—เชพเช‰ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ‡เชฒเซ€ เช•เซ‹เชˆเชชเชฃ เช›เชฌเซ€เช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชซเช•เซเชค เชคเซ‡เชจเชพ เชชเซ‹เชคเชพเชจเชพ เชธเซเชŸเซ‹เชฐเซ‡เชœ (เชนเซ‡เชฒเซ‹, เชธเซเชฐเช•เซเชทเชพ) เชชเชฐ เชฒเช–เซ€ เชถเช•เซ‡ เช›เซ‡. เช เชชเชฃ เชจเซ‹เช‚เชง เช•เชฐเซ‹ เช•เซ‡ เช† เช•เชจเซเชŸเซ‡เชจเชฐ เชฎเชพเชŸเซ‡ SELinux เชตเชฟเชญเชพเชœเชจเชจเซ‡ เชจเชฟเชทเซเช•เซเชฐเชฟเชฏ เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เชฎเชนเชคเซเชตเชจเซเช‚ เช˜เซ‹เชทเชฃเชพ

เช•เซ‹เชˆ เชชเชฃ เชธเช‚เชœเซ‹เช—เซ‹เชฎเชพเช‚ เชคเชฎเชพเชฐเซ‡ เช…เช‚เชคเชฐเซเช—เชค เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚เชฅเซ€ เช•เซ‹เชˆเชชเชฃ เช›เชฌเซ€เช“ เช•เชพเชขเซ€ เชจเชพเช–เชตเชพ เชœเซ‹เชˆเช เชจเชนเซ€เช‚. เชจเชนเชฟเช‚เชคเชฐ, เชฌเชฟเชฒเซเชกเชพเชน เช•เชจเซเชŸเซ‡เชจเชฐ เช•เซเชฐเซ‡เชถ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡.

เช…เชจเซ‡ เช† เชฌเชงเชพ เชซเชพเชฏเชฆเชพ เชจเชฅเซ€

เชตเชงเชพเชฐเชพเชจเชพ เชธเซเชŸเซ‹เชฐเซ‡เชœเชจเซ€ เชถเช•เซเชฏเชคเชพเช“ เช‰เชชเชฐเซ‹เช•เซเชค เชฆเซƒเชถเซเชฏ เชธเซเชงเซ€ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เชจเชฅเซ€. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเชฎเซ‡ เชถเซ‡เชฐ เช•เชฐเซ‡เชฒ เชจเซ‡เชŸเชตเชฐเซเช• เชธเซเชŸเซ‹เชฐเซ‡เชœ เชชเชฐ เชคเชฎเชพเชฎ เช•เชจเซเชŸเซ‡เชจเชฐ เช›เชฌเซ€เช“ เชฎเซ‚เช•เซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชฌเชงเชพ เชฌเชฟเชฒเซเชกเชพเชน เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ‡ เชเช•เซเชธเซ‡เชธ เช†เชชเซ€ เชถเช•เซ‹ เช›เซ‹. เชšเชพเชฒเซ‹ เช•เชนเซ€เช เช•เซ‡ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชธเซ‡เช‚เช•เชกเซ‹ เช›เชฌเซ€เช“ เช›เซ‡ เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช…เชฎเชพเชฐเซ€ CI/CD เชธเชฟเชธเซเชŸเชฎ เชจเชฟเชฏเชฎเชฟเชคเชชเชฃเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐ เช›เชฌเซ€เช“ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช•เชฐเซ‡ เช›เซ‡. เช…เชฎเซ‡ เช† เชฌเชงเซ€ เช›เชฌเซ€เช“เชจเซ‡ เชเช• เชธเซเชŸเซ‹เชฐเซ‡เชœ เชนเซ‹เชธเซเชŸ เชชเชฐ เช•เซ‡เชจเซเชฆเซเชฐเชฟเชค เช•เชฐเซ€เช เช›เซ€เช เช…เชจเซ‡ เชชเช›เซ€, เชชเชธเช‚เชฆเช—เซ€เชจเชพ เชจเซ‡เชŸเชตเชฐเซเช• เชธเซเชŸเซ‹เชฐเซ‡เชœ เชŸเซ‚เชฒเซเชธ (NFS, Gluster, Ceph, ISCSI, S3...) เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, เช…เชฎเซ‡ เช† เชธเซเชŸเซ‹เชฐเซ‡เชœเชจเซ€ เชธเชพเชฎเชพเชจเซเชฏ เชเช•เซเชธเซ‡เชธ เชฌเชงเชพ Buildah เช…เชฅเชตเชพ Kubernetes เชจเซ‹เชกเซเชธ เชชเชฐ เช–เซ‹เชฒเซ€เช เช›เซ€เช.

เชนเชตเซ‡ เช† เชจเซ‡เชŸเชตเชฐเซเช• เชธเซเชŸเซ‹เชฐเซ‡เชœเชจเซ‡ /var/lib/shared เชชเชฐ เชฌเชฟเชฒเซเชกเชพเชน เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚ เชฎเชพเช‰เชจเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเซ‚เชฐเชคเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชฌเชธ - เชฌเชฟเชฒเซเชกเชพเชน เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ‡ เชนเชตเซ‡ เชชเซเชฒ เชฆเซเชตเชพเชฐเชพ เช›เชฌเซ€เช“ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€. เช†เชฎ, เช…เชฎเซ‡ เชชเซ‚เชฐเซเชต-เชตเชธเซเชคเซ€เชจเซ‹ เชคเชฌเช•เซเช•เซ‹ เชซเซ‡เช‚เช•เซ€ เชฆเชˆเช เช›เซ€เช เช…เชจเซ‡ เชคเชฐเชค เชœ เช•เชจเซเชŸเซ‡เชจเชฐ เชฐเซ‹เชฒ เช†เช‰เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชคเซˆเชฏเชพเชฐ เช›เซ€เช.

เช…เชจเซ‡ เช…เชฒเชฌเชคเซเชค, เช†เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฒเชพเชˆเชต เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชธเชฟเชธเซเชŸเชฎ เช…เชฅเชตเชพ เช•เชจเซเชŸเซ‡เชจเชฐ เชˆเชจเซเชซเซเชฐเชพเชธเซเชŸเซเชฐเช•เซเชšเชฐเชฎเชพเช‚ เช•เซ‹เชˆเชชเชฃ เชœเช—เซเชฏเชพเช เชˆเชฎเซ‡เชœเซ‹เชจเชพ เชชเซเชฒ เชกเชพเช‰เชจเชฒเซ‹เชกเชฟเช‚เช— เชตเชฟเชจเชพ เช•เชจเซเชŸเซ‡เชจเชฐ เชฒเซ‹เชจเซเชš เช•เชฐเชตเชพ เช…เชจเซ‡ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡. เชคเชฆเซเชชเชฐเชพเช‚เชค, เช•เชจเซเชŸเซ‡เชจเชฐ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€, เชคเซ‡เชจเชพ เชชเชฐ เช…เชชเชกเซ‡เชŸ เช•เชฐเซ‡เชฒเซ€ เช›เชฌเซ€ เช…เชชเชฒเซ‹เชก เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเซเชถ เชตเชฟเชจเช‚เชคเซ€ เชชเซเชฐเชพเชชเซเชค เช•เชฐเซ€เชจเซ‡, เช† เช›เชฌเซ€เชจเซ‡ เช†เชชเชฎเซ‡เชณเซ‡ เชถเซ‡เชฐ เช•เชฐเซ‡เชฒ เชจเซ‡เชŸเชตเชฐเซเช• เชธเซเชŸเซ‹เชฐเซ‡เชœเชฎเชพเช‚ เชฎเซ‹เช•เชฒเซ€ เชถเช•เซ‡ เช›เซ‡, เชœเซเชฏเชพเช‚ เชคเซ‡ เชคเชฐเชค เชœ เชคเชฎเชพเชฎ เชจเซ‹เชกเซเชธ เชฎเชพเชŸเซ‡ เช‰เชชเชฒเชฌเซเชง เชฌเชจเซ‡ เช›เซ‡.

เช•เชจเซเชŸเซ‡เชจเชฐ เช›เชฌเซ€เช“ เช•เซเชฏเชพเชฐเซ‡เช• เช•เชฆเชฎเชพเช‚ เช˜เชฃเชพ เช—เซ€เช—เชพเชฌเชพเช‡เชŸเซเชธ เชธเซเชงเซ€ เชชเชนเซ‹เช‚เชšเซ€ เชถเช•เซ‡ เช›เซ‡. เชตเชงเชพเชฐเชพเชจเชพ เชธเซเชŸเซ‹เชฐเซ‡เชœเชจเซ€ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เชคเชฎเชจเซ‡ เชธเชฎเช—เซเชฐ เชจเซ‹เชกเซเชธเชฎเชพเช‚ เช†เชตเซ€ เช›เชฌเซ€เช“เชจเซ‡ เช•เซเชฒเซ‹เชจ เช•เชฐเชตเชพเชจเซเช‚ เชŸเชพเชณเชตเชพ เชฆเซ‡ เช›เซ‡ เช…เชจเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐ เชฒเซ‹เช‚เชš เช•เชฐเชตเชพเชจเซเช‚ เชฒเช—เชญเช— เชคเซเชตเชฐเชฟเชค เชฌเชจเชพเชตเซ‡ เช›เซ‡.

เชตเชงเซเชฎเชพเช‚, เช…เชฎเซ‡ เชนเชพเชฒเชฎเชพเช‚ เช“เชตเชฐเชฒเซ‡ เชตเซ‹เชฒเซเชฏเซเชฎ เชฎเชพเช‰เชจเซเชŸเซเชธ เชจเชพเชฎเชจเซ€ เชเช• เชจเชตเซ€ เชธเซเชตเชฟเชงเชพ เชชเชฐ เช•เชพเชฎ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช, เชœเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ‡ เชตเชงเซ เชเชกเชชเซ€ เชฌเชจเชพเชตเชถเซ‡.

เชจเชฟเชทเซเช•เชฐเซเชท

เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ/เชธเซ€เช†เชฐเช†เชˆ-เช“, เชชเซ‹เชกเชฎเซ‡เชจ เช…เชฅเชตเชพ เชคเซ‹ เชกเซ‹เช•เชฐเชฎเชพเช‚ เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ€ เช…เช‚เชฆเชฐ เชฌเชฟเชฒเซเชกเชพเชน เชšเชฒเชพเชตเชตเชพเชจเซเช‚ เชถเช•เซเชฏ, เชธเชฐเชณ เช…เชจเซ‡ docker.socket เชตเชพเชชเชฐเชตเชพ เช•เชฐเชคเชพเช‚ เชตเชงเซ เชธเซเชฐเช•เซเชทเชฟเชค เช›เซ‡. เช…เชฎเซ‡ เชˆเชฎเซ‡เชœเซ€เชธ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซ€ เชธเซเช—เชฎเชคเชพเชฎเชพเช‚ เช˜เชฃเซ‹ เชตเชงเชพเชฐเซ‹ เช•เชฐเซเชฏเซ‹ เช›เซ‡, เชœเซ‡เชฅเซ€ เชคเชฎเซ‡ เชธเซเชฐเช•เซเชทเชพ เช…เชจเซ‡ เชชเซเชฐเชฆเชฐเซเชถเชจ เชตเชšเซเชšเซ‡เชจเชพ เชธเช‚เชคเซเชฒเชจเชจเซ‡ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เช เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เชจเซ‡ เชตเชฟเชตเชฟเชง เชฐเซ€เชคเซ‡ เชšเชฒเชพเชตเซ€ เชถเช•เซ‹.

เชตเชงเชพเชฐเชพเชจเชพ เชธเซเชŸเซ‹เชฐเซ‡เชœเชจเซ€ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เชคเชฎเชจเซ‡ เชจเซ‹เชกเซเชธ เชชเชฐ เช›เชฌเซ€เช“เชจเซ‡ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเชตเชพเชจเซ€ เช—เชคเชฟ เชตเชงเชพเชฐเชตเชพ เช…เชฅเชตเชพ เชคเซ‡เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹