| podman-manifest-add(1) | General Commands Manual | podman-manifest-add(1) |
نام (NAME)
podman-manifest-add - افزودن یک ایمیج یا دستساخته به فهرست مانیفست یا نمایه ایمیج
خلاصه دستور (SYNOPSIS)
podman manifest add [options] listnameorindexname [transport]:imagename imageorartifactname [...]
توضیحات (DESCRIPTION)
ایمیج مشخصشده را به فهرست مانیفست یا نمایه ایمیج تعیینشده اضافه میکند، یا یک مانیفست دستساخته (artifact) ایجاد کرده و آن را به نمایه ایمیج مشخصشده میافزاید.
مقدار بازگشتی (RETURN VALUE)
شناسه ایمیج فهرست.
گزینهها (OPTIONS)
--all
اگر ایمیجی که به فهرست یا نمایه اضافه میشود خود یک فهرست یا نمایه باشد، تمام محتویات آن را به فهرست محلی اضافه میکند. بهطور پیشفرض، تنها یک ایمیج از چنین فهرست یا نمایهای به فهرست یا نمایه اضافه میشود. ترکیب --all با هر یک از گزینههای دیگر که در ادامه توضیح داده شدهاند توصیه نمیشود.
--annotation=annotation=value
تنظیم یک حاشیهنویسی (annotation) بر روی مدخل مربوط به ایمیج یا دستساخته مشخصشده.
--arch=architecture
بازنویسی معماریای که فهرست یا نمایه به عنوان نیازمندی برای ایمیج ثبت میکند. اگر imageName به یک فهرست مانیفست یا نمایه ایمیج ارجاع دهد، اطلاعات معماری از آن بازیابی میشود؛ در غیر این صورت، از اطلاعات پیکربندی ایمیج استخراج خواهد شد.
--artifact
ایجاد یک مانیفست دستساخته و افزودن آن به نمایه ایمیج. آرگومانهای بعد از نام نمایه بهجای ارجاع به ایمیج، به عنوان نام فایل تفسیر خواهند شد. در بیشتر سناریوها، گزینه --artifact-type نیز باید مشخص شود.
--artifact-config=path
هنگام ایجاد یک مانیفست دستساخته و افزودن آن به نمایه ایمیج، از محتویات فایل مشخصشده به عنوان حباب داده (blob) پیکربندی در مانیفست دستساخته استفاده میکند. در بیشتر سناریوها، دستنخورده باقی گذاشتن مقدار پیشفرض که نشاندهنده یک پیکربندی خالی است، گزینه ترجیحی میباشد.
--artifact-config-type=type
هنگام ایجاد یک مانیفست دستساخته و افزودن آن به نمایه ایمیج، از نوع MIME مشخصشده به عنوان mediaType مرتبط با حباب پیکربندی در مانیفست دستساخته استفاده میکند. در بیشتر سناریوها، دستنخورده باقی گذاشتن مقدار پیشفرض که نشاندهنده یک پیکربندی خالی یا نوع پیکربندی استاندارد OCI است، گزینه ترجیحی میباشد.
--artifact-exclude-titles
هنگام ایجاد یک مانیفست دستساخته و افزودن آن به نمایه ایمیج، حاشیهنویسی "org.opencontainers.image.title" را برای هر فایل اضافهشده به مانیفست دستساخته برابر با نام پایه فایل تنظیم نمیکند. ابزارهایی که دستساختهها را از رجیستری بازیابی میکنند ممکن است از این مقادیر برای نامگذاری فایلها هنگام ذخیره دستساختهها بر روی دیسک استفاده کنند، بنابراین استفاده از این گزینه توصیه نمیشود مگر اینکه برای سازگاری با یک رجیستری خاص لازم باشد.
--artifact-layer-type=type
هنگام ایجاد یک مانیفست دستساخته و افزودن آن به نمایه ایمیج، از نوع MIME مشخصشده به عنوان mediaType مرتبط با محتویات فایلها استفاده میکند. در صورت عدم تعیین، حدسهایی بر اساس نام فایلها یا محتویات آنها زده شده و استفاده میشود، اما در صورت نیاز به قطعیت باید این گزینه مشخص شود.
--artifact-subject=imageName
هنگام ایجاد یک مانیفست دستساخته و افزودن آن به نمایه ایمیج، فیلد subject را در مانیفست دستساخته تنظیم میکند تا نشان دهد مانیفست دستساخته به نحوی با ایمیج مشخصشده مرتبط است. یک مانیفست دستساخته حداکثر میتواند با یک موضوع (subject) مرتبط باشد.
--artifact-type=type
هنگام ایجاد یک مانیفست دستساخته، از نوع MIME مشخصشده به جای مقدار پیشفرض که اطلاعات کمتری دارد، به عنوان مقدار artifactType مانیفست استفاده میکند.
--authfile=path
مسیر فایل احراز هویت. مقدار پیشفرض در لینوکس ${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 انجامپذیر است.
--cert-dir=path
استفاده از گواهیهای موجود در مسیر path با پسوندهای (*.crt, *.cert, *.key) برای اتصال به رجیستری (پیشفرض: /etc/containers/certs.d). برای جزئیات بیشتر به containers-certs.d(5) مراجعه کنید. (این گزینه در کلاینت راه دور پادمن، از جمله دستگاههای مک و ویندوز (به استثنای WSL2) در دسترس نیست).
--creds=[username[:password]]
مقدار [username[:password]] برای احراز هویت در برابر رجیستری در صورت نیاز. اگر یک یا هر دو مقدار ارائه نشوند، اعلانی در خط فرمان ظاهر شده و میتوان مقدار را وارد کرد. گذرواژه بدون بازتاب وارد میشود.
توجه داشته باشید که اطلاعات اعتباری مشخصشده فقط برای احراز هویت در برابر رجیستریهای هدف استفاده میشوند. آنها برای سرورهای آینهای یا زمانی که رجیستری بازنویسی میشود (به containers-registries.conf(5) مراجعه کنید) استفاده نخواهند شد؛ برای احراز هویت در برابر آنها استفاده از فایل containers-auth.json(5) را در نظر بگیرید.
--features=feature
مشخص کردن فهرست ویژگیهایی که فهرست یا نمایه به عنوان نیازمندیهای ایمیج ثبت میکند. این گزینه بهندرت استفاده میشود.
--os=OS
بازنویسی سیستمعاملی که فهرست یا نمایه به عنوان یک نیازمندی برای ایمیج ثبت میکند. اگر imagename به یک فهرست مانیفست یا نمایه ایمیج ارجاع دهد، اطلاعات سیستمعامل از آن بازیابی میشود؛ در غیر این صورت، از اطلاعات پیکربندی ایمیج استخراج خواهد شد.
--os-version=version
مشخص کردن نسخه سیستمعاملی که فهرست یا نمایه به عنوان نیازمندی برای ایمیج ثبت میکند. این گزینه بهندرت استفاده میشود.
--tls-verify
الزام HTTPS و اعتبارسنجی گواهیها هنگام برقراری ارتباط با رجیستریها (پیشفرض: true). اگر صراحتاً روی true تنظیم شود، اعتبارسنجی TLS انجام میشود. اگر روی false تنظیم شود، اعتبارسنجی TLS انجام نمیشود. در صورت عدم تعیین، اعتبارسنجی TLS انجام خواهد شد مگر اینکه رجیستری هدف در containers-registries.conf(5) به عنوان یک رجیستری ناامن فهرست شده باشد.
--variant
مشخص کردن گونهای (variant) که فهرست یا نمایه برای ایمیج ثبت میکند. این گزینه معمولاً برای تمایز میان چندین مدخل استفاده میشود که مقدار معماری یکسانی دارند، اما به نسخههای متفاوتی از مجموعه دستورالعملهای آن وابسته هستند.
روشهای انتقال (TRANSPORT)
روشهای انتقال متعددی پشتیبانی میشوند:
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
مثالها (EXAMPLES)
افزودن ایمیج پیشفرض مشخصشده از فهرست مانیفست مبدأ به فهرست مانیفست مقصد:
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