singularity(1) singularity(1)

singularity-exec - اجرای یک دستور درون یک کانتینر

singularity exec [exec options...] <container> <command> [args...]

دستور singularity exec از قالب‌های زیر پشتیبانی می‌کند:

*.sif قالب تصویر سینگولاریتی (SIF). بومی سینگولاریتی
(3.0+) و Apptainer (v1.0.0+)

*.sqsh قالب SquashFS. بومی سینگولاریتی 2.4+

*.img قالب ext3. بومی نسخه‌های سینگولاریتی < 2.4.

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.

--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] راهنما برای exec

-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

-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] به طور پیش‌فرض تمام کانتینرهای Singularity/Apptainer فقط‌خواندنی هستند. این گزینه سیستم فایل را قابل خواندن/نوشتن می‌کند.

--writable-tmpfs[=false] سیستم فایل را با داده‌های غیرماندگار به صورت خواندنی-نوشتنی در دسترس قرار می‌دهد (فقط با پشتیبانی از overlay)

$ singularity exec /tmp/debian.sif cat /etc/debian_version
$ singularity exec /tmp/debian.sif python ./hello_world.py
$ cat hello_world.py | singularity exec /tmp/debian.sif python
$ sudo singularity exec --writable /tmp/debian.sif apt-get update
$ singularity exec instance://my_instance ps -ef
$ singularity exec library://centos cat /etc/os-release

singularity(1)

30-Jul-2026 تولید خودکار توسط spf13/cobra

Jul 2026 Auto generated by spf13/cobra