| runc-exec(8) | System Manager's Manual | runc-exec(8) |
نام (NAME)
runc-exec - اجرای فرایند جدید درون کانتینر
خلاصه دستور (SYNOPSIS)
runc exec [option ...] container-id [--] command [arg ...]
runc exec [option ...] -p process.json container-id
گزینهها (OPTIONS)
- --console-socket path
- مسیر یک سوکت AF_UNIX که توصیفکننده فایلی ارجاعدهنده به انتهای اصلی (master) پایانه کاذب (pseudoterminal) کنسول را دریافت خواهد کرد. مستندات docs/terminals ⟨https://github.com/opencontainers/runc/blob/master/docs/terminals.md⟩ را ببینید.
- --cwd path
- قبل از اجرای دستور، دایرکتوری جاری در کانتینر را به path تغییر میدهد.
- --env|-e name=value
- متغیر محیطی name را برابر با value قرار میدهد. میتوان آن را چندین بار مشخص کرد.
- --tty|-t
- یک پایانه کاذب (pseudo-TTY) اختصاص میدهد.
- --user|-u uid[:gid]
- اجرای command به عنوان یک کاربر (و در صورت تمایل، گروه) مشخصشده با uid (و gid).
- --additional-gids|-g gid
- افزودن شناسههای گروهی (GID) اضافی. میتوان آن را چندین بار مشخص کرد.
- --process|-p process.json
- به جای مشخص کردن تمام پارامترهای exec مستقیماً در خط فرمان، آنها را از process.json دریافت میکند؛ یک فایل JSON حاوی مشخصات فرایند، همانطور که توسط مشخصات زمان اجرای OCI ⟨https://github.com/opencontainers/runtime-spec/blob/master/config.md#process⟩ تعریف شده است.
- --detach|-d
- جدا شدن از فرایند کانتینر.
- --pid-file path
- مشخص کردن فایلی که شناسه فرایند (PID) کانتینر در آن نوشته شود.
- --process-label label
- تنظیم برچسب فرایند asm برای فرایند که معمولاً با selinux(7) استفاده میشود.
- --apparmor profile
- تنظیم profile مربوط به apparmor(7) برای فرایند.
- --no-new-privs
- تنظیم مقدار "عدم مجوزهای جدید" (no new privileges) برای فرایند.
- --cap cap
- افزودن یک قابلیت (capability) به مجموعه مرزی (bounding set) فرایند. میتوان آن را چندین بار مشخص کرد.
- --preserve-fds N
- انتقال N توصیفکننده فایل اضافی به کانتینر (در مجموع stdio + $LISTEN_FDS + N). پیشفرض 0 است.
- --ignore-paused
- اجازه دادن به اجرای دستور در کانتینر متوقفشده (paused). به طور پیشفرض اگر کانتینر متوقف باشد، runc exec با خطا خارج میشود؛ از این گزینه میتوان برای نادیده گرفتن آن استفاده کرد. یک کانتینر متوقفشده باید برای تکمیل فرایند exec از حالت تعلیق خارج شود (resumed).
- --cgroup path | controller[,controller...]:path
- اجرای
فرایند در
یک زیرگروه
کنترلی (sub-cgroup).
اگر cgroup
مشخصشده
وجود
نداشته
باشد،
خطایی
برگردانده
میشود.
پیشفرض
مسیر خالی
است، به این
معنی که از cgroup
بالاترین
سطح
کانتینر
استفاده
شود.
تنها برای cgroup v1، یک controller خاص (یا چند کنترلکننده جداشده با کاما) میتواند مشخص شود، و این گزینه میتواند چندین بار برای تعیین مسیرهای مختلف برای کنترلکنندههای مختلف به کار رود.
توجه داشته باشید که برای cgroup v2، در صورتی که فرایند نتواند به cgroup سطح بالا بپیوندد، راهکار جایگزین runc exec این است که برای پیوستن به cgroup مربوط به init کانتینر تلاش کند. این راهکار جایگزین را میتوان با استفاده از --cgroup / غیرفعال کرد.
وضعیت خروج (EXIT STATUS)
با وضعیت خروج command خارج میشود (مگر اینکه از -d استفاده شده باشد)، یا در صورت بروز خطا با 255 خارج میشود.
مثالها (EXAMPLES)
اگر کانتینر قادر به اجرای دستور ps(1) باشد، دستور زیر فهرستی از فرایندهای در حال اجرا در کانتینر را در خروجی چاپ خواهد کرد:
# runc exec <container-id> ps