فایل docker-compose.yml چیست؟

تصور کنید تصمیم ۵ تا کانتینر بسازیم که باید پورت هاشو مپ کنیم و منابعش رو محدود کنیم براش شبکه اختصاصی بسازیم و اپشن های دیگه هم بهش بدیم! این پروسه هم زمان بره هم تکراری و خسته کننده راه حل داکر برای ساده کردن این کار docker-compose.yml هست.

یه فایل متنی که همه این تنظیمات رو یکبار وارد می‌کنیم و هر بار با همون کانتینر رو میسازیم.

  • اولین قسمت ورژن خود فایل رو نشون می‌ده
  • توی بخش services اسم سرویسی که قراره راه اندازی بشه رو برای فایل معرفی می‌کنیم
  • توی بخش image همون ایمیجیه که میخوایم ازش استفاده کنیم و فقط اسمشو میزنیم
  • توی قسمت replicas بهش می‌گیم از این کانتینر چند تا میخوایم؟ اینجا داره بهش میگه ۵ تا بسازه(حواستون باشه که این قسمت زیر شاخه deploy هست
  • توی قسمت resources یکسری limit تعیین کردیم که میگه هر کانتینر اجازه استفاده حداکثر ۱۰ درصد cpu و ۵۰ مگابایت ram رو داره.
  • توی بخش rstart policy بهش گفتیم اگر سرویس fail شد ریستارتش کن.
  • پورت ۸۰ رو به ۸۰ مپ کن
  • از شبکه به اسم webnet هم استفاده کن
**حتما براتون سوال شده که چرا باید از یک کانتینر ۵ تا بسازیم اون با یه اسم! توی پست بعدی کامل توضیح می‌دم.

در ادامه این دستور رو بزنید:(توضیحش توی پست بعدی داده می‌شه)

docker swarm init

حالا فایل رو اجرا می‌کنیم:(new_lab اسم دلخواهه)

docker stack deploy -c docker-compose.yml new_lab

این خروجی ایه که من داشتم اگر ببینید برامون ۵ تا container و یک سرویس!

بدون توضیحات اضافه مطلب بعدی رو شروع می‌کنیم و توضیحات رو کامل می‌کنیم.