Docker و دستور wait

docker wait command
11 آذر 1403

Docker و دستور wait

دستورات مختلفی در Docker وجود دارد که به کاربران این امکان را می‌دهد تا با کانتینرها ارتباط برقرار کنند. یکی از این دستورات، دستور docker wait است. این دستور به شما اجازه می‌دهد تا زمانی که یک کانتینر تکمیل شود (مانند پایان کار آن یا از کار افتادنش) منتظر بمانید و سپس کد خروجی آن را دریافت کنید. این ویژگی می‌تواند برای اسکریپت‌های خودکار و ادغام‌های CI/CD بسیار مفید باشد.

برای مثال، تصور کنید که یک کانتینر وظیفه انجام یک کار مشخص را بر عهده دارد و شما می‌خواهید پس از اتمام کار آن، یک اقدام خاصی انجام دهید. با استفاده از docker wait، شما می‌توانید به سادگی بایستید تا کانتینر کارش تمام شود و سپس از کد خروجی آن استفاده کنید.

اجرا کننده‌ی wait می‌تواند به شما بگوید که آیا کانتینر با موفقیت به اتمام رسیده یا ناموفق بوده است. این اطلاعات می‌تواند در تصمیم‌گیری‌های بعدی شما بسیار مؤثر باشد. برای مثال، اگر کد خروجی یک کانتینر برابر با صفر باشد، به این معنی است که کار به درستی انجام شده است.

در نهایت، دستور docker wait به شما این امکان را می‌دهد تا بر اساس عملکرد کانتینرها، جریان‌های کاری مناسب را تنظیم کنید. با دانستن کد خروجی هر کانتینر، می‌توانید اقدامات بعدی را برنامه‌ریزی کنید و از این طریق کارهای خود را بیشتر خودکار کنید.

نمونه کد

# ایجاد یک کانتینر جدید
docker run -d --name my_container nginx

# منتظر ماندن تا اتمام کار کانتینر و دریافت کد خروجی آن exit_code=$(docker wait my_container)

# چاپ کد خروجی کانتینر echo "Exit code: $exit_code"

توضیحات کد

docker run -d --name my_container nginx
این خط یک کانتینر جدید به نام my_container از تصویر nginx ایجاد و آن را در حالت پس‌زمینه اجرا می‌کند.

exit_code=$(docker wait my_container)
این خط منتظر می‌ماند تا کانتینر my_container کارش تمام شود و سپس کد خروجی کانتینر را در متغیر exit_code ذخیره می‌کند.

echo "Exit code: $exit_code"
این خط کد خروجی کانتینر را چاپ می‌کند.

سوالات متداول

؟

چجوری می‌تونم از دستور docker wait استفاده کنم؟

؟

آیا می‌شود بدون استفاده از wait به خروجی کانتینر دسترسی پیدا کرد؟