این مستند راهنمایی برای استفاده از Docker Swarm بر روی سرورهای ابری برای ارکستراسیون کانتینرها است. Docker Swarm یک ابزار قدرتمند برای مدیریت و ارکستراسیون کانتینرها در محیطهای توزیعشده است. در این مستند، نحوه راهاندازی و پیکربندی Docker Swarm را با استفاده از ابزارهایی مانند AWS و Azure نشان خواهیم داد.
پیشنیازها
- دسترسی به چندین سرور ابری
- نصب Docker بر روی سرورها
- دسترسی به اینترنت
نصب Docker
نصب Docker بر روی Ubuntu
برای نصب Docker بر روی هر سرور Ubuntu، از دستورات زیر استفاده کنید:
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install -y docker-ce
اضافه کردن کاربر به گروه Docker
sudo usermod -aG docker ${USER}
راهاندازی Docker Swarm
مرحله 1: ایجاد یک خوشه Docker Swarm
برای راهاندازی یک خوشه Docker Swarm، یکی از سرورها را به عنوان مدیر خوشه انتخاب کنید و دستور زیر را اجرا کنید:
docker swarm init --advertise-addr <MANAGER-IP>
خروجی این دستور شامل توکنهایی برای پیوستن نودهای کارگر به خوشه است.
مرحله 2: پیوستن نودهای کارگر به خوشه
برای پیوستن نودهای کارگر به خوشه، از توکنهایی که در مرحله قبلی به دست آمده استفاده کنید. روی هر نود کارگر دستور زیر را اجرا کنید:
docker swarm join --token <WORKER-TOKEN> <MANAGER-IP>:2377
مرحله 3: تأیید وضعیت خوشه
برای تأیید وضعیت خوشه و مشاهده نودهای موجود، از دستور زیر استفاده کنید:
docker node ls
پیکربندی سرویسها با Docker Swarm
ایجاد فایل Docker Compose
یک فایل به نام docker-compose.yml
ایجاد کنید و محتویات زیر را در آن قرار دهید:
version: '3'
services:
web:
image: nginx
deploy:
replicas: 3
restart_policy:
condition: on-failure
ports:
- "80:80"
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: example
deploy:
replicas: 1
پیادهسازی سرویسها
برای پیادهسازی سرویسها بر روی خوشه Docker Swarm، از دستور زیر استفاده کنید:
docker stack deploy -c docker-compose.yml my_stack
بررسی وضعیت سرویسها
برای بررسی وضعیت سرویسها، از دستور زیر استفاده کنید:
docker service ls
مشاهده لاگهای سرویس
برای مشاهده لاگهای یک سرویس خاص، از دستور زیر استفاده کنید:
docker service logs my_stack_web
مقیاسبندی سرویسها
برای مقیاسبندی سرویسها و تغییر تعداد نودهای در حال اجرا، از دستور زیر استفاده کنید:
docker service scale my_stack_web=5
بهروزرسانی سرویسها
برای بهروزرسانی یک سرویس با نسخه جدید، فایل docker-compose.yml
را ویرایش کنید و سپس از دستور زیر استفاده کنید:
docker stack deploy -c docker-compose.yml my_stack
حذف سرویسها و خوشه
حذف سرویسها
برای حذف سرویسها از خوشه، از دستور زیر استفاده کنید:
docker stack rm my_stack
ترک کردن خوشه و حذف Docker Swarm
برای ترک کردن خوشه و حذف Docker Swarm از هر نود، از دستور زیر استفاده کنید:
docker swarm leave --force
نتیجهگیری
با این راهنمای مستند، شما میتوانید Docker Swarm را بر روی سرورهای ابری راهاندازی کرده و کانتینرهای خود را به طور مؤثر مدیریت کنید. این سیستم به شما کمک میکند تا به راحتی سرویسهای خود را مقیاسبندی و بهروزرسانی کنید و از قابلیتهای ارکستراسیون Docker بهرهبرداری کنید.