| singularity(1) | singularity(1) |
نام (NAME)
singularity-run - اجرای دستور پیشفرض تعریفشده درون کانتینر
خلاصه دستور (SYNOPSIS)
singularity run [run options...] [args...]
توضیحات (DESCRIPTION)
این دستور یک کانتینر Singularity/Apptainer را راهاندازی کرده و در صورت تعریف بودن یک runscript برای آن کانتینر، آن را اجرا میکند. اسکریپت اجرایی (runscript) یک فایل فراداده درون کانتینر است که حاوی دستورات شل میباشد. اگر فایل موجود (و قابل اجرا) باشد، این دستور آن فایل را به طور خودکار درون کانتینر اجرا خواهد کرد. تمام آرگومانهای پس از نام کانتینر مستقیماً به runscript ارسال خواهند شد.
دستور singularity run قالبهای کانتینر زیر را میپذیرد:
*.sif قالب
تصویر
سینگولاریتی
(SIF). بومی Singularity
(نسخه ۳.۰ به
بالا) و Apptainer
(نسخه ۱.۰.۰
به بالا)
*.sqsh قالب SquashFS. بومی Singularity نسخه ۲.۴ به بالا
*.img قالب ext3. بومی نسخههای Singularity کمتر از ۲.۴.
directory/ قالب
جعبهشنی (sandbox).
شاخهای
حاوی یک
سیستم فایل
ریشه معتبر
و اختیاری
فرادادههای
Singularity/Apptainer.
instance://* یک
نمونه محلی
در حال
اجرای
کانتینر.
(مشاهده
گروه
دستورات instance.)
library://* یک کانتینر SIF میزبانیشده روی Library (بدون پیشفرض)
docker://* یک
کانتینر Docker/OCI
میزبانیشده
روی Docker Hub یا
سایر
مخازن
رجیستری OCI.
shub://* یک کانتینر میزبانیشده روی Singularity Hub.
oras://* یک
کانتینر SIF
میزبانیشده
روی
رجیستری OCI
با
پشتیبانی
از مشخصات OCI
Registry As Storage (ORAS).
ipfs://* یک تصویر SIF از یک کلاستر IPFS، با استفاده از درگاه HTTP.
گزینهها (OPTIONS)
--add-caps="" فهرستی از قابلیتها (capabilities) جداشده با ویرگول برای اضافه کردن
--allow-setuid[=false] اجازه به باینریهای setuid در کانتینر (فقط کاربر ریشه)
--app="" تعیین یک برنامه کاربردی برای اجرا درون کانتینر
--apply-cgroups="" اعمال cgroups از یک فایل برای فرایندهای کانتینر (فقط کاربر ریشه)
--authfile="" فایل احراز هویت به سبک داکر برای نوشتن/خواندن مشخصات هویتی رجیستری OCI
-B, --bind=[] مشخصات مسیر bind کاربر. به قالب src[:dest[:opts]] است که در آن src و dest مسیرهای خارج و داخل هستند. اگر dest داده نشود، برابر src تنظیم میشود. گزینههای اتصال ('opts') میتوانند به صورت 'ro' (فقطخواندنی) یا 'rw' (خواندنی/نوشتنی، پیشفرض) تعیین شوند. چندین مسیر bind میتوانند در یک فهرست جداشده با ویرگول داده شوند.
--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="" تعداد هستههای CPU در دسترس کانتینر
--cpuset-cpus="" فهرست هستههای CPU میزبان در دسترس کانتینر
--cpuset-mems="" فهرست گرههای حافظه میزبان در دسترس کانتینر
--cwd="" شاخه کاری اولیه برای فرایند محموله (payload) داخل کانتینر (مترادف --pwd)
--device=[] نام(های) دستگاه کاملاً واجد شرایط CDI. یک نام دستگاه CDI شامل یک VENDOR، CLASS و NAME است که به صورت vendor.com/device=mydevice ترکیب میشوند. چند دستگاه را میتوان با ویرگول جدا کرد.
--disable-cache[=false] عدم استفاده یا ایجاد حافظه موقت (کَش)
--dns="" فهرست کارگزارهای DNS جداشده با ویرگول جهت افزودن به resolv.conf
--docker-host="" تعیین میزبان دیمن داکر سفارشی
--docker-login[=false] ورود تعاملی به مخزن رجیستری داکر
--drop-caps="" فهرستی از قابلیتها جداشده با ویرگول جهت حذف
--env=[] ارسال متغیر محیطی به فرایند محصورشده
--env-file=[] ارسال متغیرهای محیطی از یک فایل به فرایند محصورشده
-f, --fakeroot[=false] اجرای کانتینر با ظاهر اجرای کاربر ریشه (شبیهسازی ریشه)
--fusemount=[] مشخصات اتصال سیستم فایل FUSE به صورت '<type>:<command> <mountpoint>' - که در آن <type> مقدار 'container' یا 'host' است که مشخص میکند اتصال در کجا انجام شود ('container-daemon' یا 'host-daemon' فرایند FUSE را به صورت جداشده اجرا میکند). مقدار <command> مسیر به باینری اجرایی FUSE به همراه گزینههای اتصال است. مقدار <mountpoint> مکانی در کانتینر است که FUSE به آن متصل میشود. به عنوان مثال: 'container:sshfs 10.0.0.1:/ /sshfs'. به طور خودکار شامل --pid میشود.
-h, --help[=false] راهنما برای run
-H, --home="/build" مشخصات شاخه خانگی. میتواند یک مسیر src یا یک جفت src:dest باشد. مقدار src مسیر مبدا شاخه خانگی در خارج از کانتینر است و dest شاخه خانگی درون کانتینر را بازنویسی میکند.
--hostname="" تنظیم نام میزبان کانتینر
--intel-hpu[=false] فعالسازی پشتیبانی از شتابدهنده Intel(R) Gaudi همزمان با استفاده از dev/ مینیمال
-i, --ipc[=false] اجرای کانتینر در یک فضای نام جدید IPC
--keep-privs[=false] اجازه به کاربر ریشه برای حفظ امتیازات در کانتینر (فقط کاربر ریشه)
--memory="" محدودیت حافظه به بایت
--memory-reservation="" محدودیت نرم (soft limit) حافظه به بایت
--memory-swap="" محدودیت حافظه Swap، استفاده از -1 برای نامحدود
--mount=[] مشخصات اتصال مثلاً 'type=bind,source=/opt,destination=/hostopt'. پرچم 'nonested' از ارسال شدن این اتصال به کانتینرهای تودرتو جلوگیری میکند.
-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، یا 'bind-paths' جهت غیرفعالسازی همه مسیرهای bind.
--no-pid[=false] اجرا نکردن کانتینر در یک فضای نام جدید PID
--no-privs[=false] سلب تمام امتیازات از کاربر ریشه در کانتینر
--no-umask[=false] عدم انتشار umask به کانتینر، تنظیم umask پیشفرض 0022
--nv[=false] فعالسازی پشتیبانی از Nvidia
--nvccli[=false] استفاده از nvidia-container-cli برای راهاندازی کارت گرافیک (آزمایشی)
--oom-kill-disable[=false] غیرفعال کردن کشنده OOM (کمبود حافظه)
-o, --overlay=[] استفاده از تصویر overlayFS برای ذخیرهسازی دادههای ماندگار یا به عنوان لایه فقطخواندنی کانتینر
--passphrase[=false] درخواست رمز عبور رمزنگاری
--pem-path="" وارد کردن مسیر به کلید RSA در قالب PEM برای کانتینر رمزگذاریشده
-p, --pid[=false] اجرای کانتینر در یک فضای نام جدید PID
--pids-limit=0 محدودیت تعداد شناسههای فرایند (PID) کانتینر، مقدار -1 برای نامحدود
--rocm[=false] فعالسازی پشتیبانی آزمایشی Rocm
--runscript-timeout="" تعیین مدتزمان مهلت زمانی (timeout) برای runscript (پیشفرض 1m)
-S, --scratch=[] شامل کردن یک شاخه scratch درون کانتینر که به یک شاخه موقت پیوند داده شده است (استفاده از -W برای اجبار مکان)
--security=[] فعالسازی ویژگیهای امنیتی (SELinux, Apparmor, Seccomp)
--sharens[=false] اشتراکگذاری فضای نام و تصویر با کانتینرهای دیگر اجراشده از همان فرایند والد
--unsquash[=false] تبدیل فایل SIF به جعبهشنی (sandbox) موقت پیش از اجرا
-u, --userns[=false] اجرای کانتینر در یک فضای نام کاربری جدید
--uts[=false] اجرای کانتینر در یک فضای نام جدید UTS
-W, --workdir="" شاخه کاری مورد استفاده برای tmp/ و var/tmp/ و HOME$ (در صورت استفاده از c/--contain-)
-w, --writable[=false] به طور پیشفرض تمام کانتینرهای Singularity/Apptainer فقطخواندنی هستند. این گزینه سیستم فایل را قابل خواندن/نوشتن میکند.
--writable-tmpfs[=false] سیستم فایل را با دادههای غیرماندگار به صورت خواندنی-نوشتنی در دسترس قرار میدهد (فقط با پشتیبانی از overlay)
مثالها (EXAMPLES)
# در اینجا میبینیم که runscript عبارت "Hello world: " را چاپ میکند $ singularity exec /tmp/debian.sif cat /singularity #!/bin/sh echo "Hello world: " # هنگام اجرای تصویر، با ورودیهای ما اجرا میشود $ singularity 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 |