2016-10-14 11 views
11

Zastanawiam się, czy ktoś może odróżnić tych dwóch. Oba mają podobne nazwy.Jaka jest różnica między trybem pracy roota a trybem roju?

+0

'Docker Swarm' jest koncepcja grupowania/łączenia w klastry i zarządzania węzłami i więcej niż funkcja 'Docker'. Tryb roju Tryb techniczny "Silnik Docker" może zostać zainicjowany. – Griffin

+0

Znalazłem bardzo dobrą odpowiedź: [Relacja między "doker/roj" i "doker/swarmkit"] (https://stackoverflow.com/questions/38474424/the-relation-between-docker-swarm-and-docker- swarmkit? answerertab = aktywny # tab-top) – kogoia

Odpowiedz

19

Docker Swarm to osobny produkt, który można wykorzystać do grupowania wielu hostów Docker. Przed wersją Docker 1.12 była to jedyna natywna opcja Docker do klastrowania hostów i wymagała dużej dodatkowej konfiguracji dla stanu rozproszonego, wykrywania usług i bezpieczeństwa.

Z Dockerem 1.12, Swarm Mode jest wbudowany w silnik Docker. Aby uruchomić klaster wystarczy zainstalować Docker na wielu komputerach, uruchomić docker swarm init, aby przełączyć się do trybu Swarm i docker swarm join, aby dodać więcej węzłów do klastra. Stan, odkrycie i bezpieczeństwo są uwzględnione przy zerowej konfiguracji.

Tryb Swarm jest opcjonalny, ale jeśli chcesz uruchomić kilka hostów Docker, jest to preferowany sposób. Dostajesz niezawodność, równoważenie obciążenia, skalowanie i uaktualnianie usług w wersji 1.12, i prawdopodobnie większość nowych funkcji przejdzie w tryb Swarm. Oryginalny produkt Docker Swarm będzie prawdopodobnie miał tylko aktualizacje serwisowe w przyszłości (chociaż Swarm is open source, podobnie jak Docker Engine).

+6

Powiedziałbym, że z marketingowego punktu widzenia, zawiedli to. Są to dwie różne istoty, z prawie identyczną nazwą. –

1

Docker Swarm (także Swarm classic) różni się zasadniczo od trybu rój Swarm. Funkcja Native Swarm będzie nadal obsługiwana w wersji Docker 1.12. Ma to na celu zachowanie kompatybilności wstecznej.

Docker Swarm (klasyczny):

  • Niezależnie od Docker silnika i może działać jako pojemnik
  • potrzebuje zewnętrznego magazynu KV jak konsula, etcd, Zookeeper

Przykład użycia:

docker run swarm manage <consul-ip> 
docker -H <worker-ip> run swarm join --advertise=<worker-ip> <consul-ip> 

Swarm trybu (nowe, lepsze):

  • Zintegrowany wewnątrz Docker silnika
  • Nie ma potrzeby oddzielnego magazynu KV zewnętrznego

Przykład użycia:

docker swarm init --advertise-addr <manager-ip> 
docker -H <worker-ip> swarm join --token <worker-token> 
Powiązane problemy