0Pricing
DevOps Bootcamp · Lekcja

Wdrażanie usług w Swarm

Wdrażaj i skaluj skonteneryzowane aplikacje jako usługi w klastrze Swarm oraz zarządzaj ich cyklem życia.

Wdrażanie usług w Swarm to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Czym jest usługa Docker Swarm

W Docker Swarm usługa to definicja sposobu uruchamiania skonteneryzowanej aplikacji w całym klastrze.

Zamiast uruchamiać pojedyncze kontenery definiuje się usługę, aby przekazać Swarm: „Chcę uruchomić X instancji tego obrazu, na tych portach i z tymi ustawieniami”.

Swarm dba następnie o utrzymanie oczekiwanego stanu, automatycznie uruchamiając ponownie kontenery w razie ich awarii.

Wdrażanie usług w Swarm — ilustracja 1

Usługi a kontenery

Można ująć to następująco:

  • Kontener to pojedyncza instancja aplikacji.
  • Usługa to schemat uruchamiania jednego lub większej liczby identycznych kontenerów (nazywanych zadaniami) w całym Swarm.

Usługi zapewniają wysoką dostępność i skalowalność, rozdzielając zadania oraz automatycznie obsługując awarie.

Wdrażanie pierwszej usługi

Polecenie docker service create służy do wdrażania aplikacji jako usług w klastrze Swarm. Utwórzmy prostą usługę serwera WWW Nginx.

Proszę uruchomić ten przykład:

docker service create \
  --name my-web-app \
  -p 80:80 \
  --replicas 1 \
  nginx

Zrozumienie tworzenia usługi

Przeanalizujmy polecenie, którego właśnie użyliśmy:

  • --name my-web-app: Nadaje usłudze łatwą do zapamiętania nazwę.
  • -p 80:80: Mapuje port 80 na węzłach Swarm na port 80 wewnątrz kontenera.
  • --replicas 1: Informuje Swarm, aby utrzymywał jedną uruchomioną instancję (zadanie) tej usługi.
  • nginx: Określa obraz Docker używany przez zadania usługi.

Sprawdzanie usług

Po utworzeniu usługi warto sprawdzić jej stan i wyświetlić uruchomione zadania. Służą do tego następujące polecenia:

  • docker service ls: Wyświetla listę wszystkich usług w Swarm.
  • docker service ps <service_name>: Wyświetla poszczególne zadania (kontenery) powiązane z usługą.
docker service ls
docker service ps my-web-app

Zwiększanie skali usługi

Jedną z głównych zalet Docker Swarm jest łatwe skalowanie. Liczbę uruchomionych instancji (replik) usługi można zwiększyć za pomocą jednego polecenia.

Zwiększmy skalę my-web-app do trzech replik:

docker service scale my-web-app=3

Zmniejszanie skali usługi

Równie łatwo można zmniejszyć skalę usługi, aby ograniczyć zużycie zasobów lub dostosować obsługę ruchu. Swarm zatrzyma nadmiarowe kontenery w kontrolowany sposób, pozostawiając pozostałe uruchomione.

Zmniejszmy ponownie skalę my-web-app do jednej repliki:

docker service scale my-web-app=1

Aktualizowanie usługi

Gdy trzeba wdrożyć nową wersję aplikacji lub zmienić ustawienia usługi, polecenie docker service update wykonuje aktualizację kroczącą. Swarm aktualizuje zadania jedno po drugim, dzięki czemu aplikacja pozostaje dostępna.

Zaktualizujmy usługę Nginx do konkretnej wersji:

docker service update --image nginx:1.25 my-web-app

Usuwanie usługi

Gdy usługa nie jest już potrzebna, można usunąć ją z Swarm. Spowoduje to zatrzymanie wszystkich powiązanych zadań i usunięcie definicji usługi z klastra.

Aby usunąć przykładową usługę aplikacji WWW:

docker service rm my-web-app

Quiz z zarządzania usługami

Mają Państwo usługę o nazwie my-backend, uruchomioną z 3 replikami i korzystającą z obrazu my-backend:v1. Należy zaktualizować ją tak, aby używała nowego obrazu my-backend:v2, a także zwiększyć liczbę replik do 5.

Powtórzenie: usługi Swarm

Świetna praca! Poznali już Państwo podstawy wdrażania aplikacji i zarządzania nimi jako usługami w Docker Swarm.

  • Usługi definiują oczekiwany stan skonteneryzowanych aplikacji.
  • Nauczyli się Państwo tworzyć usługi za pomocą docker service create.
  • Omówiliśmy sprawdzanie, skalowanie (docker service scale) i aktualizowanie (docker service update) usług.
  • Usługi można również usuwać za pomocą docker service rm.

Usługi są podstawą tworzenia skalowalnych i odpornych na awarie aplikacji w klastrze Swarm!

Często zadawane pytania

Czy lekcja „Wdrażanie usług w Swarm” jest bezpłatna?

Tak — pełny tekst „Wdrażanie usług w Swarm” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Co nauczysz się w „Wdrażanie usług w Swarm”?

Wdrażaj i skaluj skonteneryzowane aplikacje jako usługi w klastrze Swarm oraz zarządzaj ich cyklem życia. Ćwiczysz DevOps Bootcamp z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć DevOps Bootcamp?

Nie wymagamy żadnego doświadczenia. DevOps Bootcamp w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Wdrażanie usług w Swarm”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji DevOps Bootcamp?

Tak. Każda lekcja DevOps Bootcamp zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Wprowadzenie do Docker Swarm
  2. Konfigurowanie klastra Swarm
  3. Wdrażanie usług w Swarm
  4. Skalowanie i aktualizacje kroczące w Swarm
← Powrót do DevOps Bootcamp