| apptainer(1) | apptainer(1) |
نام (NAME)
apptainer-run - اجرای اسکریپت ران یا دستور پیشفرض در ایمیج کانتینر Apptainer
خلاصه دستور (SYNOPSIS)
apptainer run [گزینههای run...] [آرگومانها...]
توضیحات (DESCRIPTION)
این دستور یک کانتینر Apptainer را راهاندازی کرده و در صورت تعریف بودن اسکریپت اجرا (runscript) برای آن کانتینر، آن را اجرا میکند. این runscript یک فایل متادیتا در داخل کانتینر است که حاوی دستورات شل میباشد. اگر این فایل وجود داشته باشد (و قابل اجرا باشد)، این دستور آن فایل را به طور خودکار درون کانتینر اجرا خواهد کرد. تمام آرگومانهای بعد از نام کانتینر مستقیماً به runscript ارسال خواهند شد.
دستور apptainer run از قالبهای کانتینر زیر پشتیبانی میکند:
*.sif قالب
تصویر
سینگولاریتی
(SIF). بومی برای
Singularity
(3.0+) و Apptainer (v1.0.0+)
*.sqsh قالب SquashFS. بومی برای Singularity نسخه 2.4 به بالا
*.img قالب ext3. بومی برای نسخههای Singularity کمتر از 2.4.
directory/ قالب
محیط مجزا
(سندباکس).
پوشهای
شامل یک
سیستمفایل
ریشه معتبر
و
فرادادههای
اختیاری Apptainer.
instance://* یک
نمونه محلی
در حال
اجرای
کانتینر. (به
گروه
دستورات
instance مراجعه
کنید.)
library://* یک کانتینر SIF میزبانیشده در Library (بدون پیشفرض)
docker://* یک
کانتینر Docker/OCI
میزبانیشده
در داکر هاب
یا مخزن
دیگر OCI.
shub://* یک کانتینر میزبانیشده در Singularity Hub.
oras://* یک
کانتینر SIF
میزبانیشده
در یک مخزن OCI
که از
مشخصات OCI Registry As Storage
(ORAS) پشتیبانی
میکند.
ipfs://* یک تصویر SIF از کلاستر IPFS، با استفاده از درگاه HTTP.
گزینهها (OPTIONS)
--add-caps="" فهرستی از قابلیتهای لینوکس جدا شده با کاما جهت افزودن
--allow-setuid[=false] اجازه اجرای باینریهای setuid در کانتینر (تنها برای کاربر ریشه)
--app="" تعیین برنامهای مشخص برای اجرا در کانتینر
--apply-cgroups="" اعمال تنظیمات cgroups از فایل برای فرآیندهای کانتینر (تنها برای کاربر ریشه)
--authfile="" فایل احراز هویت به سبک Docker برای نوشتن/خواندن اعتبارنامههای مخزن OCI
-B, --bind=[] مشخصات اتصال (bind) مسیر سفارشی کاربر. این مشخصه قالب src[:dest[:opts]] دارد که در آن src مسیر بیرونی و dest مسیر درونی است. اگر dest داده نشود، برابر با src تنظیم میشود. گزینههای اتصال ('opts') میتوانند به صورت 'ro' (فقطخواندنی) یا 'rw' (خواندن/نوشتن، که پیشفرض است) تعیین شوند. چندین مسیر اتصال را میتوان با فهرست جداشده با کاما تعیین کرد.
--blkio-weight=0 وزن نسبی Block IO در بازه ۱۰ تا ۱۰۰۰؛ ۰ برای غیرفعالسازی
--blkio-weight-device=[] وزن نسبی Block IO مخصوص دستگاه
--cdi-dirs=[] فهرست دایرکتوریهای جداشده با کاما که در آنها CDI باید به دنبال فایلهای JSON تعریف دستگاه بگردد. در صورت حذف، مقدار پیشفرض /etc/cdi,/var/run/cdi خواهد بود
-e, --cleanenv[=false] پاکسازی متغیرهای محیطی پیش از اجرای کانتینر
--compat[=false] اعمال تنظیمات برای افزایش سازگاری با OCI/Docker. گزینههای containall--، no-init--، no-umask--، no-eval-- و writable-tmpfs-- را به همراه دارد.
-c, --contain[=false] استفاده از dev/ مینیمال و خالی کردن سایر دایرکتوریها (مانند tmp/ و HOME$) به جای اشتراکگذاری سیستمهای فایل میزبان
-C, --containall[=false] جداسازی نه تنها سیستمهای فایل، بلکه PID، IPC و محیط
--cpu-shares=-1 سهم پردازنده (CPU shares) برای کانتینر
--cpus="" تعداد پردازندههای در دسترس کانتینر
--cpuset-cpus="" فهرست پردازندههای میزبان در دسترس کانتینر
--cpuset-mems="" فهرست گرههای حافظه میزبان در دسترس کانتینر
--cwd="" دایرکتوری کاری اولیه برای فرآیند بار کاری (payload) درون کانتینر (مترادف pwd--)
--device=[] نام(های) کامل دستگاه CDI. نام کامل دستگاه CDI شامل VENDOR، CLASS و NAME است که به این صورت ترکیب میشوند: vendor.com/device=mydevice. نامهای متعدد دستگاههای CDI را میتوان به صورت فهرستی جداشده با کاما تعیین کرد.
--disable-cache[=false] عدم استفاده یا ایجاد حافظه موقت (کش)
--dns="" فهرست سرورهای DNS جدا شده با کاما برای افزودن به resolv.conf
--docker-host="" تعیین میزبان سفارشی دیمن Docker
--docker-login[=false] ورود تعاملی به یک مخزن Docker
--drop-caps="" فهرستی از قابلیتهای لینوکس جدا شده با کاما جهت حذف
--env=[] ارسال متغیر محیطی به فرآیند درون کانتینر
--env-file=[] ارسال متغیرهای محیطی از یک فایل به فرآیند درون کانتینر
-f, --fakeroot[=false] اجرای کانتینر با هویت ظاهری کاربر ریشه (fakeroot)
--fusemount=[] مشخصات اتصال سیستمفایل FUSE به فرمت ': &' که در آن مقدار 'container' یا 'host' است که مکان انجام اتصال را مشخص میکند ('container-daemon' یا 'host-daemon' فرآیند FUSE را به صورت جداشده اجرا میکند). مسیر فایل اجرایی FUSE به همراه گزینههای اتصال است. مکانی در کانتینر است که اتصال FUSE به آن پیوست خواهد شد. مانند 'container:sshfs 10.0.0.1:/ /sshfs'. این گزینه مستلزم pid-- است.
-h, --help[=false] راهنمای run
-H, --home="/build" مشخصات دایرکتوری خانگی. این مشخصه میتواند یک مسیر مبدا (src) یا یک جفت src:dest باشد. src مسیر دایرکتوری خانگی خارج از کانتینر است و dest دایرکتوری خانگی درون کانتینر را بازنویسی میکند.
--hostname="" تعیین نام میزبان (hostname) برای کانتینر
--intel-hpu[=false] فعالسازی پشتیبانی از شتابدهنده Intel(R) Gaudi به همراه dev/ مینیمال
-i, --ipc[=false] اجرای کانتینر در یک فضای نام (namespace) جدید IPC
--keep-privs[=false] حفظ امتیازات کاربر ریشه در کانتینر (فقط کاربر ریشه)
--memory="" محدودیت حافظه به بایت
--memory-reservation="" محدودیت نرم حافظه به بایت
--memory-swap="" محدودیت حافظه Swap، استفاده از ۱- برای حافظه Swap نامحدود
--mount=[] مشخصات اتصال مانند 'type=bind,source=/opt,destination=/hostopt'. پرچم 'nonested' مانع از ارسال اتصال به کانتینرهای تودرتو از طریق APPTAINER_BIND میشود.
-n, --net[=false] اجرای کانتینر در یک فضای نام شبکه جدید (به طور پیشفرض یک رابط شبکه bridge راهاندازی میکند)
--netns-path="" پیوستن به فضای نام شبکه در مسیر مشخصشده (به عنوان کاربر ریشه، یا در صورت مجاز بودن در apptainer.conf)
--network="" تعیین نوع شبکه مورد نظر به صورت جداشده با کاما، هر شبکه یک رابط اختصاصی درون کانتینر ایجاد میکند
--network-args=[] تعیین آرگومانهای شبکه برای ارسال به افزونههای CNI
--no-env=[] فهرست متغیرهای محیطی جهت جلوگیری از ورود به کانتینر از محیط میزبان
--no-eval[=false] عدم ارزیابی متغیرهای محیطی در شل یا CMD/ENTRYPOINT/ARGS کانتینر OCI
--no-home[=false] عدم اتصال دایرکتوری خانگی کاربر اگر /home دایرکتوری کاری جاری نباشد
--no-https[=false] استفاده از http به جای https برای URIهای //:docker و //:oras و ...///:library
--no-init[=false] عدم اجرای فرآیند واسط shim همراه با pid--
--no-mount=[] غیرفعال کردن یک یا چند گزینه 'mount xxx' تنظیمشده در apptainer.conf یا تعیین مسیر مقصد مطلق برای غیرفعال کردن یک ورودی مسیر اتصال، یا 'bind-paths' برای غیرفعال کردن تمام ورودیهای مسیر اتصال.
--no-pid[=false] عدم اجرای کانتینر در یک فضای نام PID جدید
--no-privs[=false] سلب تمام امتیازات کاربر ریشه در کانتینر
--no-umask[=false] عدم انتقال umask به کانتینر و تنظیم مقدار پیشفرض 0022 برای umask
--nv[=false] فعالسازی پشتیبانی از Nvidia
--nvccli[=false] استفاده از nvidia-container-cli برای راهاندازی پردازنده گرافیکی (آزمایشی)
--oom-kill-disable[=false] غیرفعالسازی کشنده کمبود حافظه (OOM killer)
-o, --overlay=[] استفاده از ایمیج overlayFS برای ذخیرهسازی دادههای پایدار یا به عنوان لایه فقطخواندنی کانتینر
--passphrase[=false] درخواست رمز عبور برای رمزنگاری
--pem-path="" وارد کردن یک مسیر به کلید RSA با قالب PEM برای یک کانتینر رمزنگاریشده
-p, --pid[=false] اجرای کانتینر در یک فضای نام PID جدید
--pids-limit=0 محدود کردن تعداد PIDهای کانتینر، از ۱- برای حالت نامحدود استفاده کنید
--rocm[=false] فعالسازی پشتیبانی آزمایشی از Rocm
--runscript-timeout="" تنظیم مدت زمان مهلت (timeout) برای اسکریپت اجرا (پیشفرض 1m)
-S, --scratch=[] گنجاندن یک دایرکتوری موقت (scratch) درون کانتینر که به یک پوشه موقت پیوند خورده است (از W- برای تعیین اجباری مکان استفاده کنید)
--security=[] فعالسازی ویژگیهای امنیتی (SELinux, Apparmor, Seccomp)
--sharens[=false] اشتراکگذاری فضای نام و ایمیج با سایر کانتینرهای راهاندازیشده از همان فرآیند والد
--unsquash[=false] تبدیل فایل SIF به یک سندباکس موقت پیش از اجرا
-u, --userns[=false] اجرای کانتینر در یک فضای نام کاربری جدید
--uts[=false] اجرای کانتینر در یک فضای نام UTS جدید
-W, --workdir="" دایرکتوری کاری مورد استفاده برای tmp/، var/tmp/ و HOME$ (در صورتی که c/--contain- نیز استفاده شده باشد)
-w, --writable[=false] به طور پیشفرض تمام کانتینرهای Apptainer به صورت فقطخواندنی در دسترس هستند. این گزینه سیستمفایل را با قابلیت خواندن/نوشتن قابل دسترسی میکند.
--writable-tmpfs[=false] سیستمفایل را با دادههای ناپایدار به صورت خواندن/نوشتن قابل دسترسی میکند (تنها با پشتیبانی overlay)
مثالها (EXAMPLES)
# در اینجا میبینیم که runscript عبارت "Hello world: " را چاپ میکند $ apptainer exec /tmp/debian.sif cat /apptainer #!/bin/sh echo "Hello world: " # هنگامی که ایمیج را اجرا میکنیم، با ورودیهای ما اجرا میشود $ apptainer run /tmp/debian.sif one two three Hello world: one two three # توجه داشته باشید که این دستور نیز همان کار را انجام میدهد $ ./tmp/debian.sif one two three
همچنین ببینید (SEE ALSO)
تاریخچه (HISTORY)
30-Jul-2026 تولید خودکار توسط spf13/cobra
| Jul 2026 | Auto generated by spf13/cobra |