حالت های داکر کامپوز Docker Compose
مقدمه
در این مقاله قصد داریم حالت های داکر کامپوز و روش اجرای دستورات در پس زمینه شل و اجرای آن را بررسی نماییم. داکر کامپوز (Docker Compose) ابزاری است که به شما امکان تعریف و اجرای برنامه های Docker چند کانتینری را می دهد. این فرآیند مدیریت برنامه های پیچیده را با امکان تعریف تمام سرویس هایی که یک برنامه کاربردی را در یک فایل واحد تشکیل می دهند، ساده می کند.
یکی از مزایای اصلی Docker Compose این است که به شما اجازه می دهد به راحتی وابستگی های بین سرویس ها را مدیریت کنید. به عنوان مثال، اگر برنامه شما نیاز به پایگاه داده دارد، می توانید سرویس پایگاه داده را در فایل Docker Compose تعریف کنید و سپس آن را به سرویس برنامه خود متصل کنید. Docker Compose به طور خودکار سرویس پایگاه داده را قبل از شروع سرویس برنامه شما راه اندازی می کند.
به منظور نصب داکر در سیستم عامل های مختلف سرور نظیر CentOS به صفحه آموزش نحوه نصب و استفاده از داکر در CentOS 7 مراجعه نمایید.
یک دستور Docker Compose، مانند دستور اجرای docker، به طور پیشفرض سرویسها را در پیش زمینه یا foreground راهاندازی میکند.
برای اجرای این کار در پسزمینه، از دستور docker compose-up با سوئیچ d- استفاده کنید یا میتوانیم از گزینه detach– نیز استفاده کنیم. حالا بریم سر موضوع اصلی.
Docker Compose Detached
در حالت جداسازی یا در پسزمینه، باید دستور docker-compose up را مطابق شکل زیر اجرا کنیم:
docker-compose up -d - یا - docker-compose up --detach
دستور قبلی کانتینرها را در پس زمینه راه اندازی می کند و نام کانتینرهای جدید را چاپ می کند.
حالت جداشده داکر (Docker detached mode)
گزینه detach– یا d- نشان می دهد که یک کانتینر Docker در پس زمینه ترمینال در حال اجرا است. ورودی یا خروجی را نمی پذیرد یا نمایش نمی دهد.
docker run -d IMAGE_NAME
اگر کانتینرها را در پسزمینه راهاندازی کنیم، میتوانیم از docker ps برای دریافت جزئیات آنها استفاده کنیم و سپس ترمینال را دوباره به ورودی و خروجی آن وصل کنیم. حتما این مراحل را برای docker-compose detached طی کنید.
سوئیچ پسزمینه -d
بعد از run یا up بکار میرود.
فلگ های tty و تعاملی t- مورد نیاز نیستند زیرا اجرای docker-compose این کار را به طور خودکار انجام می دهد. میتوانیم از t- برای افزودن tty به کانتینرهای جداگانه در فایل compose استفاده کنیم، اما نمیتوانیم از حالت تعاملی استفاده کنیم زیرا نمیتوانیم با همه آنها به طور همزمان تعامل داشته باشیم.
اگر d- را به انتهای دستور run اضافه کنیم، در پس زمینه اجرا می شود. با این حال، ما می توانیم از استفاده از up به جای اجرا حمایت کنیم زیرا به سادگی تمام کانتینرهای فایل را راه اندازی می کند.
نتیجه
با استفاده از Docker Compose Detached، شما می توانید برنامه های خود را به صورت پایدار تر و با کارآیی بیشتر اجرا کنید. همچنین، این حالت به شما اجازه می دهد تا به سادگی به کنسول خود بازگردید و لاگ های برنامه خود را بررسی کنید.
Docker Compose یک ابزار قدرتمند است که به شما امکان می دهد تا برنامه های پیچیده خود را با سادگی و کارآیی بیشتر مدیریت کنید. با استفاده از حالت های مختلف Docker Compose، شما می توانید برنامه های خود را به بهترین شکل ممکن اجرا کنید.