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"
این خط کد خروجی کانتینر را چاپ میکند.