ماهیت داکر کانتینر این است که به محض پایان یافتن پروسهی اصلی، کانتینر هم متوقف میشود. در این بخش بهصورت عملی نشان داده میشود که چرا کانتینرها پس از پایان پروسه خاموش میشوند و چگونه میتوان با روشهای مختلف آنها را فعال نگه داشت. ابتدا اجرای یک کانتینر خالی (که بلافاصله متوقف میشود) بررسی میشود و سپس تکنیکهایی مانند اجرای شل تعاملی، استفاده از دستوراتی مثل tail -f /dev/null، sleep infinity یا یک حلقهی بینهایت معرفی میشوند. در ادامه به اجرای زمانبندیشده برای توقف خودکار و پیادهسازی این الگوها در Dockerfile پرداخته میشود. در پایان نیز نمونهای از اجرای یک سرویس واقعی (مانند nginx) بهصورت foreground آموزش داده میشود.
مواردی که در این درس بحث و پیادهسازی میشوند عبارتند از
- ماهیت کانتینر داکر: توقف کانتینر با پایان پروسه اصلی
- اجرای یک کانتینر خالی و مشاهده توقف آن
- در حال اجرا نگه داشتن کانتینر با شل تعاملی (
docker run -it) - در حال اجرا نگه داشتن کانتینر با ترفند
tail -f /dev/null - در حال اجرا نگه داشتن کانتینر با
sleep infinity - در حال اجرا نگه داشتن کانتینر با حلقهی بینهایت (
while true; do sleep 60; done) - اجرای کانتینر با زمانبندی خودکار برای توقف
- پیادهسازی همه روشهای بالا در Dockerfile
- اجرای سرویس واقعی (مثل nginx) در foreground
