apptainer(1) apptainer(1)

apptainer-shell - اجرای یک پوسته در داخل کانتینر

apptainer shell [گزینه‌های shell...] <کانتینر>

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

*.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.

--add-caps="" فهرستی از قابلیت‌های لینوکس جدا شده با کاما جهت افزودن

--allow-setuid[=false] اجازه اجرای باینری‌های setuid در کانتینر (تنها برای کاربر ریشه)

--app="" تعیین برنامه‌ای مشخص برای اجرا در کانتینر

--apply-cgroups="" اعمال تنظیمات cgroups از پرونده برای فرآیندهای کانتینر (تنها برای کاربر ریشه)

--authfile="" پرونده احراز هویت به سبک داکر برای نوشتن/خواندن اعتبارنامه‌های مخزن OCI

-B, --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="" پوشه کاری اولیه برای فرآیند در حال اجرا در کانتینر (مترادف pwd--)

--device=[] نام(های) دستگاه واجد شرایط کامل 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] اجرای کانتینر با هویت ظاهری کاربر ریشه (fakeroot)

--fusemount=[] مشخصات سوار کردن سیستم پرونده FUSE به صورت '<type>:<path> <mountpoint>' که در آن <type> مقدار 'container' یا 'host' است که مکان انجام اتصال را مشخص می‌کند ('container-daemon' یا 'host-daemon' فرآیند FUSE را به صورت جداگانه اجرا می‌کند). مقدار <path> مسیر فایل اجرایی FUSE به همراه گزینه‌های اتصال است. مقدار <mountpoint> مکانی در کانتینر است که نقطه اتصال FUSE به آن متصل می‌شود؛ مانند 'container:sshfs 10.0.0.1:/ /sshfs'. این گزینه مستلزم pid-- است.

-h, --help[=false] راهنمای shell

-H, --home="/build" مشخصات پوشه خانگی. می‌تواند یک مسیر مبدا (src) یا یک جفت src:dest باشد. src مسیر مبدا پوشه خانگی خارج از کانتینر است و dest پوشه خانگی داخل کانتینر را بازنویسی می‌کند.

--hostname="" تنظیم نام میزبان (hostname) برای کانتینر

--intel-hpu[=false] فعال‌سازی پشتیبانی از شتاب‌دهنده Intel(R) Gaudi به همراه dev/ مینیمال

-i, --ipc[=false] اجرای کانتینر در یک فضای نام IPC جدید

--keep-privs[=false] حفظ امتیازات کاربر ریشه در کانتینر (فقط کاربر ریشه)

--memory="" محدودیت حافظه بر حسب بایت

--memory-reservation="" محدودیت نرم حافظه بر حسب بایت

--memory-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 برای شناسه‌های اینترنتی ://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 برای راه‌اندازی GPU (آزمایشی)

--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

-S, --scratch=[] افزودن یک پوشه کاری موقت (scratch) در داخل کانتینر که به یک پوشه موقت متصل است (از W- برای اجبار مسیر استفاده کنید)

--security=[] فعال‌سازی ویژگی‌های امنیتی (SELinux، Apparmor، Seccomp)

--sharens[=false] اشتراک‌گذاری فضای نام و تصویر با سایر کانتینرهای اجراشده از همان فرآیند والد

-s, --shell="" مسیر برنامه مورد استفاده برای پوسته تعاملی

--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)

$ apptainer shell /tmp/Debian.sif
Apptainer/Debian.sif> pwd
/home/gmk/test
Apptainer/Debian.sif> exit
$ apptainer shell -C /tmp/Debian.sif
Apptainer/Debian.sif> pwd
/home/gmk
Apptainer/Debian.sif> ls -l
total 0
Apptainer/Debian.sif> exit
$ sudo apptainer shell -w /tmp/Debian.sif
$ sudo apptainer shell --writable /tmp/Debian.sif
$ apptainer shell instance://my_instance
$ apptainer shell instance://my_instance
Apptainer: Invoking an interactive shell within container...
Apptainer container:~> ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
ubuntu       1     0  0 20:00 ?        00:00:00 /usr/local/bin/apptainer/bin/appinit
ubuntu       2     0  0 20:01 pts/8    00:00:00 /bin/bash --norc
ubuntu       3     2  0 20:02 pts/8    00:00:00 ps -ef

apptainer(1)

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

Jul 2026 Auto generated by spf13/cobra