CodeGym /Kursy /Docker SELF /Główne sterowniki sieciowe Docker

Główne sterowniki sieciowe Docker

Docker SELF
Poziom 17 , Lekcja 0
Dostępny

1.1 Sieciowy sterownik Bridge

Sieciowe sterowniki Docker pozwalają kontenerom na interakcję między sobą i z zewnętrznymi sieciami. Docker oferuje kilka sieciowych sterowników, każdy z nich ma swoje cechy i jest przeznaczony do konkretnych scenariuszy użycia. W tym wykładzie omówimy cztery podstawowe sieciowe sterowniki: bridge, host, none i overlay.

Sieciowy sterownik bridge jest domyślnym sieciowym sterownikiem w Docker. Tworzy prywatną wewnętrzną sieć, w której kontenery mogą komunikować się między sobą. Ta sieć jest izolowana od zewnętrznej sieci hosta.

Cechy:

  • Kontenery podłączone do sieci bridge mogą komunikować się ze sobą poprzez adresy IP.
  • Zewnętrzne sieci nie mogą bezpośrednio komunikować się z kontenerami w sieci bridge, jeśli nie jest skonfigurowane przekierowanie portów.
  • Prostota użycia dla lokalnych scenariuszy rozwoju i testowania.

Przykład użycia:

Przy tworzeniu kontenera bez określenia sieci, jest on automatycznie podłączany do sieci bridge.

Terminal

docker run -d --name my_container nginx 

Do konfiguracji przekierowania portu używa się flagi -p.

Terminal

docker run -d -p 8080:80 --name my_container nginx 

1.2 Sieciowy sterownik Host

Sieciowy sterownik host pozwala kontenerowi na bezpośrednie korzystanie ze stosu sieciowego maszyny hosta. To oznacza, że kontener będzie miał ten sam adres IP, co host, i będzie mógł używać wszystkich interfejsów sieciowych hosta.

Cechy:

  • Kontenery, które używają sieciowego sterownika host, działają szybciej dzięki zmniejszeniu narzutu wirtualizacji sieci.
  • Kontenery mają dostęp do tych samych interfejsów sieciowych, co host, co może zwiększyć ryzyko bezpieczeństwa.
  • Nadaje się do scenariuszy wymagających wysokiej wydajności sieci lub specyficznych konfiguracji sieciowych.

Przykład użycia:

Terminal

docker run -d --network host --name my_container nginx 

1.3 Sterownik sieciowy None

Sterownik sieciowy none wyłącza wszystkie funkcje sieciowe kontenera. Kontener podłączony do sieci none nie ma interfejsu sieciowego, co całkowicie izoluje go od innych kontenerów i sieci.

Charakterystyka:

  • Pełna izolacja kontenera od wszystkich sieci.
  • Przydatny dla kontenerów, które nie wymagają sieci, na przykład do wykonywania zadań niezależnych od sieci.

Przykład użycia:

Terminal

docker run -d --network none --name my_container busybox 

1.4 Sterownik sieciowy Overlay

Sterownik sieciowy overlay jest używany do tworzenia rozproszonej sieci, która obejmuje kilka hostów Docker. Ten sterownik jest często używany w Docker Swarm lub Kubernetes, aby zapewnić sieciową komunikację między kontenerami na różnych hostach.

Cechy szczególne:

  • Zapewnia połączenie między kontenerami na różnych hostach.
  • Wymaga skonfigurowanego klastra, takiego jak Docker Swarm.
  • Pozwala na tworzenie wirtualnych sieci na istniejących sieciach, zapewniając wysoki poziom izolacji i bezpieczeństwa.

Przykład użycia:

Aby użyć sterownika overlay, najpierw trzeba utworzyć klaster Docker Swarm.

1. Inicjalizacja Docker Swarm:

Terminal

docker swarm init

2. Tworzenie sieci overlay:

Terminal

docker network create -d overlay my_overlay_network 

3. Uruchamianie kontenerów z połączeniem do sieci overlay:

Terminal

docker service create --name my_service --network my_overlay_network nginx 

1.5 Porównanie driver'ów sieciowych

Porównanie różnych driver'ów sieciowych

Driver sieciowy Izolacja Wydajność Zastosowanie Cechy
bridge Wysoka Umiarkowana Lokalne sieci Domyślna izolowana sieć
host Niska Wysoka Wydajność Wspólny stos sieciowy z hostem
none Pełna Najwyższa Izolacja Pełna izolacja od sieci
overlay Wysoka Wysoka Sieci rozproszone Komunikacja pomiędzy kontenerami na różnych hostach

Zastosowanie driver'ów sieciowych

  • Bridge: używaj do lokalnych aplikacji i testów, kiedy kontenery muszą współdziałać ze sobą, ale powinny być izolowane od sieci zewnętrznej.
  • Host: stosuj do aplikacji wymagających wysokiej wydajności sieci lub specjalnych konfiguracji sieciowych, gdzie izolacja sieci nie jest priorytetem.
  • None: używaj dla całkowicie izolowanych kontenerów, które nie potrzebują interakcji sieciowej.
  • Overlay: używaj do aplikacji rozproszonych działających w klastrze, gdzie konieczne jest zapewnienie komunikacji pomiędzy kontenerami na różnych hostach.
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION