buildah-manifest(1) General Commands Manual buildah-manifest(1)

buildah-manifest - ساخت و مدیریت فهرست‌های مانیفست و نمایه‌های تصویر.

buildah manifest COMMAND [OPTIONS] [ARG...]

دستور buildah manifest زیردستورهایی ارائه می‌دهد که برای موارد زیر کاربرد دارند:

* ساخت یک فهرست مانیفست داکر کاربردی یا نمایه تصویر OCI.
* افزودن یک مدخل به فهرست مانیفست یا نمایه تصویر برای یک تصویر مشخص.
* افزودن یک مدخل به نمایه تصویر برای یک مانیفست دست‌ساخته با ارجاع به یک پرونده.
* افزودن یا به‌روزرسانی اطلاعات مربوط به یک مدخل در فهرست مانیفست یا نمایه تصویر.
* حذف یک کانتینر در حال کار یا یک تصویر.
* ارسال (push) فهرست مانیفست یا نمایه تصویر به یک رجیستری یا محل دیگر.

دستور صفحه راهنما توضیحات
add buildah-manifest-add(1) افزودن یک تصویر یا دست‌ساخته به فهرست مانیفست یا نمایه تصویر.
annotate buildah-manifest-annotate(1) افزودن یا به‌روزرسانی اطلاعات درباره یک تصویر یا دست‌ساخته در فهرست مانیفست یا نمایه تصویر.
create buildah-manifest-create(1) ساخت یک فهرست مانیفست یا نمایه تصویر.
exists buildah-manifest-exists(1) بررسی وجود فهرست مانیفست در حافظه محلی.
inspect buildah-manifest-inspect(1) نمایش محتویات یک فهرست مانیفست یا نمایه تصویر.
push buildah-manifest-push(1) ارسال یک فهرست مانیفست یا نمایه تصویر به یک رجیستری یا محل دیگر.
remove buildah-manifest-remove(1) حذف یک تصویر از فهرست مانیفست یا نمایه تصویر.
rm buildah-manifest-rm(1) حذف فهرست مانیفست از حافظه محلی.

با این فرض که Containerfile از دستورالعمل‌های RUN استفاده می‌کند، میزبان نیاز به راهی برای اجرای دودویی‌های غیربومی دارد. پیکربندی این مورد فراتر از محدوده این مثال است. ساخت یک فهرست مانیفست چندمعماری shazam به صورت موازی در ۴ رشته کاری به این صورت انجام می‌شود:

$ platarch=linux/amd64,linux/ppc64le,linux/arm64,linux/s390x
$ buildah build --jobs=4 --platform=$platarch --manifest shazam .

نکته: آرگومان --jobs اختیاری است، و گزینه --manifest باید به جای گزینه‌های -t یا --tag استفاده شود.

با این فرض که تصاویر example.com/example/shazam:$arch به صورت جداگانه روی میزبان‌های دیگر ساخته شده و به رجیستری example.com ارسال شده‌اند، می‌توان آن‌ها را در یک فهرست مانیفست ترکیب کرد و با یک حلقه ساده ارسال نمود:

$ REPO=example.com/example/shazam
$ buildah manifest create $REPO:latest
$ for IMGTAG in amd64 s390x ppc64le arm64; do
          buildah manifest add $REPO:latest docker://$REPO:IMGTAG;
      done
$ buildah manifest push --all $REPO:latest

نکته: ترتیب آرگومان دستورالعمل add ابتدا <manifest> و سپس <image> است. همچنین، گزینه --all هنگام ارسال الزامی است تا اطمینان حاصل شود که تمام محتویات ارسال می‌شوند، نه فقط پلتفرم/معماری بومی.

هنگام حذف و ارسال فهرست‌های مانیفست، برخلاف محتویات، مراقبت ویژه‌ای لازم است. شما تقریباً همیشه می‌خواهید از زیردستورهای manifest rm و manifest push --all استفاده کنید. برای مثال، تغییر نام و ارسال می‌تواند به این صورت انجام شود:

$ buildah tag localhost/shazam example.com/example/shazam
$ buildah manifest rm localhost/shazam
$ buildah manifest push --all example.com/example/shazam

buildah(1), buildah-manifest-create(1), buildah-manifest-add(1), buildah-manifest-remove(1), buildah-manifest-annotate(1), buildah-manifest-inspect(1), buildah-manifest-push(1), buildah-manifest-rm(1)

September 2019 buildah