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

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

podman manifest add [options] listnameorindexname [transport]:imagename imageorartifactname [...]

ایمیج مشخص‌شده را به فهرست مانیفست یا نمایه ایمیج تعیین‌شده اضافه می‌کند، یا یک مانیفست دست‌ساخته (artifact) ایجاد کرده و آن را به نمایه ایمیج مشخص‌شده می‌افزاید.

شناسه ایمیج فهرست.

اگر ایمیجی که به فهرست یا نمایه اضافه می‌شود خود یک فهرست یا نمایه باشد، تمام محتویات آن را به فهرست محلی اضافه می‌کند. به‌طور پیش‌فرض، تنها یک ایمیج از چنین فهرست یا نمایه‌ای به فهرست یا نمایه اضافه می‌شود. ترکیب --all با هر یک از گزینه‌های دیگر که در ادامه توضیح داده شده‌اند توصیه نمی‌شود.

تنظیم یک حاشیه‌نویسی (annotation) بر روی مدخل مربوط به ایمیج یا دست‌ساخته مشخص‌شده.

بازنویسی معماری‌ای که فهرست یا نمایه به عنوان نیازمندی برای ایمیج ثبت می‌کند. اگر imageName به یک فهرست مانیفست یا نمایه ایمیج ارجاع دهد، اطلاعات معماری از آن بازیابی می‌شود؛ در غیر این صورت، از اطلاعات پیکربندی ایمیج استخراج خواهد شد.

ایجاد یک مانیفست دست‌ساخته و افزودن آن به نمایه ایمیج. آرگومان‌های بعد از نام نمایه به‌جای ارجاع به ایمیج، به عنوان نام فایل تفسیر خواهند شد. در بیشتر سناریوها، گزینه --artifact-type نیز باید مشخص شود.

هنگام ایجاد یک مانیفست دست‌ساخته و افزودن آن به نمایه ایمیج، از محتویات فایل مشخص‌شده به عنوان حباب داده (blob) پیکربندی در مانیفست دست‌ساخته استفاده می‌کند. در بیشتر سناریوها، دست‌نخورده باقی گذاشتن مقدار پیش‌فرض که نشان‌دهنده یک پیکربندی خالی است، گزینه ترجیحی می‌باشد.

هنگام ایجاد یک مانیفست دست‌ساخته و افزودن آن به نمایه ایمیج، از نوع MIME مشخص‌شده به عنوان mediaType مرتبط با حباب پیکربندی در مانیفست دست‌ساخته استفاده می‌کند. در بیشتر سناریوها، دست‌نخورده باقی گذاشتن مقدار پیش‌فرض که نشان‌دهنده یک پیکربندی خالی یا نوع پیکربندی استاندارد OCI است، گزینه ترجیحی می‌باشد.

هنگام ایجاد یک مانیفست دست‌ساخته و افزودن آن به نمایه ایمیج، حاشیه‌نویسی "org.opencontainers.image.title" را برای هر فایل اضافه‌شده به مانیفست دست‌ساخته برابر با نام پایه فایل تنظیم نمی‌کند. ابزارهایی که دست‌ساخته‌ها را از رجیستری بازیابی می‌کنند ممکن است از این مقادیر برای نام‌گذاری فایل‌ها هنگام ذخیره دست‌ساخته‌ها بر روی دیسک استفاده کنند، بنابراین استفاده از این گزینه توصیه نمی‌شود مگر اینکه برای سازگاری با یک رجیستری خاص لازم باشد.

هنگام ایجاد یک مانیفست دست‌ساخته و افزودن آن به نمایه ایمیج، از نوع MIME مشخص‌شده به عنوان mediaType مرتبط با محتویات فایل‌ها استفاده می‌کند. در صورت عدم تعیین، حدس‌هایی بر اساس نام فایل‌ها یا محتویات آن‌ها زده شده و استفاده می‌شود، اما در صورت نیاز به قطعیت باید این گزینه مشخص شود.

هنگام ایجاد یک مانیفست دست‌ساخته و افزودن آن به نمایه ایمیج، فیلد subject را در مانیفست دست‌ساخته تنظیم می‌کند تا نشان دهد مانیفست دست‌ساخته به نحوی با ایمیج مشخص‌شده مرتبط است. یک مانیفست دست‌ساخته حداکثر می‌تواند با یک موضوع (subject) مرتبط باشد.

هنگام ایجاد یک مانیفست دست‌ساخته، از نوع MIME مشخص‌شده به جای مقدار پیش‌فرض که اطلاعات کمتری دارد، به عنوان مقدار artifactType مانیفست استفاده می‌کند.

مسیر فایل احراز هویت. مقدار پیش‌فرض در لینوکس ${XDG_RUNTIME_DIR}/containers/auth.json و در ویندوز/مک‌او‌اس $HOME/.config/containers/auth.json است. این فایل توسط podman login ایجاد می‌شود. اگر وضعیت احراز هویت در آنجا یافت نشود، مسیر $HOME/.docker/config.json که با استفاده از docker login تنظیم می‌شود بررسی خواهد شد.

نکته: همچنین این امکان وجود دارد که با تنظیم متغیر محیطی REGISTRY_AUTH_FILE، مسیر پیش‌فرض فایل احراز هویت را بازنویسی کنید. این کار با دستور export REGISTRY_AUTH_FILE=path انجام‌پذیر است.

استفاده از گواهی‌های موجود در مسیر path با پسوندهای (*.crt, *.cert, *.key) برای اتصال به رجیستری (پیش‌فرض: /etc/containers/certs.d). برای جزئیات بیشتر به containers-certs.d(5) مراجعه کنید. (این گزینه در کلاینت راه دور پادمن، از جمله دستگاه‌های مک و ویندوز (به استثنای WSL2) در دسترس نیست).

مقدار [username[:password]] برای احراز هویت در برابر رجیستری در صورت نیاز. اگر یک یا هر دو مقدار ارائه نشوند، اعلانی در خط فرمان ظاهر شده و می‌توان مقدار را وارد کرد. گذرواژه بدون بازتاب وارد می‌شود.

توجه داشته باشید که اطلاعات اعتباری مشخص‌شده فقط برای احراز هویت در برابر رجیستری‌های هدف استفاده می‌شوند. آن‌ها برای سرورهای آینه‌ای یا زمانی که رجیستری بازنویسی می‌شود (به containers-registries.conf(5) مراجعه کنید) استفاده نخواهند شد؛ برای احراز هویت در برابر آن‌ها استفاده از فایل containers-auth.json(5) را در نظر بگیرید.

مشخص کردن فهرست ویژگی‌هایی که فهرست یا نمایه به عنوان نیازمندی‌های ایمیج ثبت می‌کند. این گزینه به‌ندرت استفاده می‌شود.

بازنویسی سیستم‌عاملی که فهرست یا نمایه به عنوان یک نیازمندی برای ایمیج ثبت می‌کند. اگر imagename به یک فهرست مانیفست یا نمایه ایمیج ارجاع دهد، اطلاعات سیستم‌عامل از آن بازیابی می‌شود؛ در غیر این صورت، از اطلاعات پیکربندی ایمیج استخراج خواهد شد.

مشخص کردن نسخه سیستم‌عاملی که فهرست یا نمایه به عنوان نیازمندی برای ایمیج ثبت می‌کند. این گزینه به‌ندرت استفاده می‌شود.

الزام HTTPS و اعتبارسنجی گواهی‌ها هنگام برقراری ارتباط با رجیستری‌ها (پیش‌فرض: true). اگر صراحتاً روی true تنظیم شود، اعتبارسنجی TLS انجام می‌شود. اگر روی false تنظیم شود، اعتبارسنجی TLS انجام نمی‌شود. در صورت عدم تعیین، اعتبارسنجی TLS انجام خواهد شد مگر اینکه رجیستری هدف در containers-registries.conf(5) به عنوان یک رجیستری ناامن فهرست شده باشد.

مشخص کردن گونه‌ای (variant) که فهرست یا نمایه برای ایمیج ثبت می‌کند. این گزینه معمولاً برای تمایز میان چندین مدخل استفاده می‌شود که مقدار معماری یکسانی دارند، اما به نسخه‌های متفاوتی از مجموعه دستورالعمل‌های آن وابسته هستند.

روش‌های انتقال متعددی پشتیبانی می‌شوند:

docker://docker-reference (پیش‌فرض) یک ایمیج در رجیستری که "Docker Registry HTTP API V2" را پیاده‌سازی می‌کند. به‌طور پیش‌فرض از وضعیت احراز هویت در $XDG_RUNTIME_DIR/containers/auth.json استفاده می‌کند که با دستور (podman login) تنظیم می‌شود. اگر وضعیت مجوز در آنجا یافت نشود، فایل $HOME/.docker/config.json که با دستور (docker login) تنظیم می‌شود، بررسی خواهد شد.

$ podman manifest add mylist:v1.11 docker://quay.io/username/myimage

containers-storage:oci-reference یک ایمیج با قالب oci-reference که در فضای ذخیره‌سازی محلی کانتینر ذخیره شده است. oci-reference باید شامل یک برچسب (tag) باشد.

$ podman manifest add mylist:v1.11 containers-storage:quay.io/username/myimage

dir:path یک مسیر دایرکتوری محلی موجود path که مانیفست، فایل‌های فشرده لایه‌ها (layer tarballs) و امضاها را به‌صورت فایل‌های جداگانه ذخیره می‌کند. این یک قالب غیراستاندارد است که اصولاً برای اشکال‌زدایی یا بررسی غیرمخرب کانتینر کاربرد دارد.

$ podman manifest add dir:/tmp/myimage

docker-archive:path[:docker-reference] یک ایمیج که در یک فایل با قالب docker save ذخیره شده است. مقدار docker-reference تنها هنگام ساخت چنین فایلی استفاده می‌شود و نباید شامل دایجست باشد.

$ podman manifest add docker-archive:/tmp/myimage

docker-daemon:docker-reference یک ایمیج با قالب docker-reference که در ذخیره‌ساز داخلی دیمن داکر نگهداری می‌شود. مقدار docker-reference همچنین می‌تواند شناسه ایمیج باشد (docker-daemon:algo:digest).

$ sudo podman manifest add docker-daemon:docker.io/library/myimage:33

oci-archive:path:tag یک برچسب (tag) ایمیج در دایرکتوری منطبق با "مشخصات ساختار ایمیج کانتینر باز" (Open Container Image Layout Specification) در مسیر path.

$ podman manifest add oci-archive:/tmp/myimage

افزودن ایمیج پیش‌فرض مشخص‌شده از فهرست مانیفست مبدأ به فهرست مانیفست مقصد:

podman manifest add mylist:v1.11 docker://fedora
71c201d10fffdcac52968a000d85a0a016ca1c7d5473948000d3131c1773d965

افزودن تمام ایمیج‌ها از فهرست مانیفست مبدأ به فهرست مانیفست مقصد:

podman manifest add --all mylist:v1.11 docker://fedora
71c201d10fffdcac52968a000d85a0a016ca1c7d5473948000d3131c1773d965

افزودن ایمیج انتخاب‌شده منطبق با معماری و گونه از فهرست مانیفست مبدأ به فهرست مانیفست مقصد:

podman manifest add --arch arm64 --variant v8 mylist:v1.11 docker://71c201d10fffdcac52968a000d85a0a016ca1c7d5473948000d3131c1773d965

podman(1), podman-manifest(1)