راه اندازی Docker Swarm روی ویندوز و مک

راه اندازی Docker Swarm روی ویندوز و مک

Docker Desktop عمدتاً روی Docker Engine اجرا می‌شود و همه ی چیزهایی که برای اجرای Swarm نیاز دارید را در خود دارد. برای اجرا و استفاده از Docker Swarm، دستورالعمل‌های مناسب برای سیستم عامل خود را دنبال کنید:

راه اندازی Docker Swarm روی Mac

   1. ترمینال را باز کرده و Docker Swarm را راه اندازی کنید:

$ docker swarm init

اگر همه چیز به خوبی پیش برود، پیامی مانند پیام زیر را مشاهده خواهید کرد:

Swarm initialized: current node (tjjggogqpnpj2phbfbz8jd5oq) is now a manager.
To add a worker to this swarm, run the following command:
    docker swarm join --token SWMTKN-1-3e0hh0jd5t4yjg209f4g5qpowbsczfahv2dea9a1ay2l8787cf-2h4ly330d0j917ocvzw30j5x9 192.168.65.3:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

   2. یک سرویس ساده ی داکری را ایجاد و اجرا می کنیم، در این مثال قرار است یک لینوکس alpine ایجاد کرده و در آن 8.8.8.8 را پینگ کنیم:

$ docker service create --name demo alpine:3.5 ping 8.8.8.8

   3. حالا بررسی کنید، سرویسی که ساخته بودید، در بین کانتینر های درحال اجرایتان وجود داشته باشد. برای این کار همانطور که از جلسات قبلی یادتان هست، از ps استفاده می کردیم:

$ docker service ps demo

            با اجرای این دستور، باید چیزی شبیه به اطلاعات پایین را مشاهده کنید:

ID                  NAME                IMAGE               NODE                DESIRED STATE       CURRENT STATE           ERROR               PORTS
463j2s3y4b5o        demo.1              alpine:3.5          docker-desktop      Running             Running 8 seconds ago

   4. بررسی کنید که اطلاعات مورد انتظارتان از پینگ 8.8.8.8 در فایل لاگ تان ثبت شده باشد:

$ docker service logs demo

چیزی شبیه به اطلاعات زیر را باید مشاهده کنید:

demo.1.463j2s3y4b5o@docker-desktop    | PING 8.8.8.8 (8.8.8.8): 56 data bytes
demo.1.463j2s3y4b5o@docker-desktop    | 64 bytes from 8.8.8.8: seq=0 ttl=37 time=13.005 ms
demo.1.463j2s3y4b5o@docker-desktop    | 64 bytes from 8.8.8.8: seq=1 ttl=37 time=13.847 ms
demo.1.463j2s3y4b5o@docker-desktop    | 64 bytes from 8.8.8.8: seq=2 ttl=37 time=41.296 ms
...

   5. در نهایت هم سرویس آزمایشی که درست کرده بودید را حذف کنید:

$ docker service rm demo

راه اندازی Docker Swarm روی Windows

   1. یک Powershell باز کرده و Docker Swarm را اجرا کنید:

$ docker swarm init

اگر همه چیز به خوبی پیش برود، باید پیام هایی مشابه پیام های زیر را مشاهده کنید:

Swarm initialized: current node (tjjggogqpnpj2phbfbz8jd5oq) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-3e0hh0jd5t4yjg209f4g5qpowbsczfahv2dea9a1ay2l8787cf-2h4ly330d0j917ocvzw30j5x9 192.168.65.3:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

   2. حالا یک سرویس ساده ی داکری بر پایه ی لینوکس Alpine ایجاد می کنیم که 8.8.8.8 را پینگ کند:

$ docker service create --name demo alpine:3.5 ping 8.8.8.8

   3. در لیست کانتینر های درحال اجرا به دنبال این کانتیری که با نام demo ایجاد کردید بگردید:

ID                  NAME                IMAGE               NODE                DESIRED STATE       CURRENT STATE           ERROR               PORTS
463j2s3y4b5o        demo.1              alpine:3.5          docker-desktop      Running             Running 8 seconds ago

   4. فایل لاگ های ایجاد شده را مشاهده کنید، که آیا لاگ های مورد انتظارتان از اجرای پینگ بدست آمده است یا خیر:

$ docker service logs demo

  اگر پینگ به درستی کار کرده باشد، باید لاگ هایی مشابه لاگ های زیر را ببینید:

demo.1.463j2s3y4b5o@docker-desktop    | PING 8.8.8.8 (8.8.8.8): 56 data bytes
demo.1.463j2s3y4b5o@docker-desktop    | 64 bytes from 8.8.8.8: seq=0 ttl=37 time=13.005 ms
demo.1.463j2s3y4b5o@docker-desktop    | 64 bytes from 8.8.8.8: seq=1 ttl=37 time=13.847 ms
demo.1.463j2s3y4b5o@docker-desktop    | 64 bytes from 8.8.8.8: seq=2 ttl=37 time=41.296 ms
...

   5. درنهایت هم که بهتر است سرویس آزمایشی که ایجاد کرده بودید را حذف کنید:

$ docker service rm demo

در این بخش و بخش قبلی یاد گرفتید که چطوری Kubernetes و Docker Swarm را روی سیستم عامل خودتان راه اندازی کنید. در بخش بعدی، با نوشتن یک فایل yaml برای Kubernetes، یادمی گیریم چطوری کانتینرهای برنامه هایمان را با کمک Kubernetes اجرا و مدیریت کنیم.

دوره در حال تکمیل است ... rocket