Docker ابزار قدرتمندی است، اما تعداد بیش از حد کانتینرها می توانند غرق شوند. با Docker Compose گرمای این سناریو را از بین ببرید.
Docker به دلیل سهولت استفاده و انعطاف پذیری یکی از محبوب ترین فناوری های کانتینری سازی است. بسیاری از پلتفرمهای ابری از Docker پشتیبانی میکنند و میتوانید کانتینرهای docker را در بسیاری از محیطها اجرا کنید.
یکی از نکات فروش داکر، عملکرد آن برای کار سریع با چندین کانتینر است. این امر داکر را برای ساخت برنامه های یکپارچه و میکروسرویس مناسب می کند.
Docker Compose ابزاری است که Docker برای دستیابی به تعامل بین کانتینری و ارکستراسیون استفاده می کند.
Docker Compose چیست؟
Docker Compose یک ابزار هماهنگ سازی کانتینر ساده است که بر روی موتور داکر ساخته شده است. این به شما امکان می دهد با چندین کانتینر Docker کار کنید. دلایل زیادی برای استفاده از Docker برای مجازی سازی وجود دارد، از مقیاس پذیری تا کنترل نسخه داخلی آن.
می توانید از Docker Compose برای ساخت برنامه های تمام پشته با الگوهای معماری متعدد استفاده کنید.
Docker Compose یک ابزار آگنوستیک است که بسیاری از برنامه های میکروسرویس کانتینری را نیرو می دهد. با Docker Compose، همچنان می توانید از یک محیط میزبان واحد برای برنامه خود استفاده کنید. اما از دردسرهای پیکربندی های متعدد که می تواند امنیت و بهره وری برنامه شما را به خطر بیندازد، اجتناب می کنید.
Docker Compose از Dockerfiles برای ساختها استفاده نمیکند. در عوض، از یک فایل docker-compose.yaml برای تنظیمات پیکربندی برنامه خود استفاده خواهید کرد.
شما می توانید بسیاری از تنظیمات ساخت مختلف را در فایل YAML پیکربندی کنید. اینها شامل نقشهبرداری پورت، متغیرهای محیطی، حجمها و شبکهها و خدمات است.
بررسی کنید Docker Compose نصب شده است
برنامه docker-compose بر روی موتور داکر اجرا می شود. Docker Compose بخشی از نصب macOS یا Windows از Docker CLI و Docker GUI است.
این دستور را برای تأیید نصب بودن آن اجرا کنید:
docker-compose version
این دستور نسخه docker-compose، شماره ساخت و سایر اطلاعات مرتبط را برمیگرداند.
اگر قبلاً Docker Compose را ندارید، میتوانید آن را با دنبال کردن دستورالعملهای رسمی Docker نصب کنید. موتور Docker یک وابستگی برای Docker Compose است. قبل از اقدام برای نصب Docker Compose، باید مطمئن شوید که Docker را نصب کرده اید.
فایل YAML Docker Compose
Docker Compose از یک فایل .yaml برای مشخصات ساخت استفاده می کند. از فایل docker-compose برای تعریف سرویسها، شبکهها و تنظیمات حجم برنامههای خود برای ساخت برنامه خود استفاده خواهید کرد.
پس از نوشتن Dockerfile برای برنامه خود، یک فایل docker-compose در دایرکتوری ریشه دایرکتوری کاری خود ایجاد کنید.
برای استفاده صحیح از «docker-compose» باید فایلهای YAML را درک کنید. در اینجا نحوه مشخص کردن پیکربندی های ساخت در فایل YAML خود docker-compose آورده شده است:
version:
services:
web:
build:
ports:
volumes:
database:
image:
کلید نسخه باید نسخه Docker Compose را که اجرا میکنید نگه دارد.
در کلید خدمات، می توانید تنظیمات کانتینر را تعریف کنید. کلید وب نام سرویس را مشخص می کند. اعلان ساخت محل فایل docker (مسیر فایل docker) را مشخص می کند و می توانید پورت ها را برای برنامه خود در کلید پورت ها ترسیم کنید.
می توانید فیلدهای اضافی را برای پایگاه داده و خدمات خود در فایل docker-compose تعیین کنید.
در اینجا نمونه ای از فایل Docker Compose برای یک برنامه وب ساده آورده شده است:
version:'3.9'# docker-compose
services:
web:# web services
build:.# builds containers in the root directory
ports:
-"8080:8080"# app to port 8080
# Mount volumes in home directory on the away directory
volumes:
-"/home:/away"
database:
image:"redis:alpine"
environment:#environment variables
-"USERNAME=yourUser"
-"PASSWORD=p@wen"
در این فایل docker-compose، سرویس نسخه 3.9 Docker Compose را اجرا خواهد کرد. فایلهای docker را در دایرکتوری ریشه میسازد تا در پورت 8080 اجرا شود و یک تصویر پایگاه داده Redis و متغیرهای محیطی اعلام شده است.
دستورات نوشتن Docker
شما می توانید از بسیاری از دستورات دیگر با docker-compose برای عملیات مرتبط با ارکستراسیون کانتینر خود استفاده کنید.
دستور build تصاویر موجود در فایل YAML docker-compose را می سازد یا دوباره می سازد و کانتینرهایی را برای سرویس شما ایجاد می کند.
docker-compose build
دستور run خدمات شما را همانطور که در فایل docker-compose مشخص شده است با ایجاد کانتینرها از تصاویر Docker راه اندازی می کند.
docker-compose run
دستور images به شما امکان می دهد لیستی از تصاویر ساخته شده از فایل docker-compose خود را مشاهده کنید.
docker-compose images
دستور up ترکیبی از دستورات ساخت و اجرا است. این دستور تصاویر Docker را می سازد و اجرا می کند و کانتینرها را راه اندازی می کند.
docker-compose up
میتوانید از دستور ps برای فهرست کردن همه کانتینرها در فایل docker-compose استفاده کنید.
docker-compose ps
دستور down محفظه ها و تصاویر مرتبط با فایل docker-compose را متوقف و پاک می کند.
docker-compose down
اگر فقط بخواهید همه کانتینرها و سرویس های موجود در فایل docker-compose خود را متوقف کنید، دستور توقف را مفید خواهید یافت.
docker-compose stop
Docker قول میدهد مشکلات کانتینریسازی شما را کاهش دهد
ابزارهای Containerization قبل از Docker وجود داشتند، اما Docker یکی از سادهترین ابزارها برای استفاده است.
Docker Compose مدیریت کانتینر را آسانتر ارائه میدهد، بنابراین استفاده از Docker میتواند سازندهتر از سایر فناوریهای رقیب باشد.