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

podman-manifest - ایجاد و دستکاری فهرست‌های مانیفست و نمایه‌های ایمیج

podman manifest subcommand

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

* ایجاد یک فهرست مانیفست کاربردی داکر یا نمایه ایمیج OCI.

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

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

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

نکته: آرگومان --jobs اختیاری است. هنگام ساخت یک فهرست مانیفست چندمعماری، از گزینه --tag (یا -t) دستور podman build استفاده نکنید.

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

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

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

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

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

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