DOCKER(1) Docker User Manuals DOCKER(1)

docker-container-exec - اجرای یک دستور در یک کانتینر در حال اجرا

docker container exec [OPTIONS] CONTAINER COMMAND [ARG...]

اجرای یک پردازه در یک کانتینر در حال اجرا.

دستوری که با استفاده از docker exec شروع می‌شود، تنها زمانی اجرا خواهد شد که پردازه اصلی کانتینر (PID 1) در حال اجرا باشد و در صورت راه‌اندازی مجدد کانتینر، مجدداً راه‌اندازی نخواهد شد.

اگر کانتینر در حالت مکث (paused) باشد، دستور docker exec تا زمان خروج کانتینر از حالت مکث صبر کرده و سپس اجرا می‌شود.

گزینه privileged قابلیت‌های گسترش‌یافته لینوکس ⟨https://man7.org/linux/man-pages/man7/capabilities.7.html⟩ را هنگام اجرا در یک کانتینر به پردازه اعطا می‌کند.

بدون این فلگ، پردازه‌ای که توسط docker exec در یک کانتینر در حال اجرا اجرا می‌شود، دارای همان قابلیت‌های کانتینر است که ممکن است محدود باشند. برای اعطای تمام قابلیت‌ها به پردازه، --privileged را تنظیم کنید.

گزینه user نام کاربری یا UID مورد استفاده و در صورت تمایل نام گروه یا GID را برای دستور مشخص‌شده تعیین می‌کند.

مثال‌های زیر همگی معتبر هستند:

--user [user | user:group | uid | uid:gid | user:gid | uid:group ]

بدون این آرگومان، دستور به‌صورت root در کانتینر اجرا خواهد شد.

کد خروج از docker exec اطلاعاتی درباره علت شکست کانتینر در اجرای دستور یا علت خروج آن ارائه می‌دهد. هنگامی که docker exec با یک کد غیرصفر خارج می‌شود، کدهای خروج از استاندارد chroot پیروی می‌کنند، به موارد زیر نگاه کنید:

126 اگر contained command قابل فراخوانی نباشد

$ docker exec busybox /etc; echo $?
# exec: "/etc": permission denied
  docker: Error response from daemon: Contained command could not be invoked
  126

127 اگر contained command پیدا نشود

$ docker exec busybox foo; echo $?
# exec: "foo": executable file not found in $PATH
  docker: Error response from daemon: Contained command not found or does not exist
  127

در غیر این صورت، Exit code مربوط به contained command

$ docker exec busybox /bin/sh -c 'exit 3'
# 3

-d, --detach[=false] حالت تفکیک‌شده (Detached): اجرای دستور در پس‌زمینه

--detach-keys="" بازنویسی توالی کلیدها برای جدا شدن از کانتینر

-e, --env= تنظیم متغیرهای محیطی

--env-file= خواندن یک فایل از متغیرهای محیطی

-i, --interactive[=false] باز نگه داشتن STDIN حتی در صورت متصل نبودن

--privileged[=false] اعطای دسترسی‌های گسترش‌یافته به دستور

-t, --tty[=false] تخصیص یک شبه TTY (pseudo-TTY)

-u, --user="" نام کاربری یا UID (قالب: "[:]")

-w, --workdir="" دایرکتوری کاری درون کانتینر

docker-container(1)

Aug 2026 Docker Community