Niestandardowe sieci bridge i wykrywanie usług
Utwórz zdefiniowane przez użytkownika sieci bridge, aby kontenery mogły znajdować się nawzajem i komunikować się po nazwie, oraz poznaj działanie wykrywania usług opartego na DNS w Dockerze.
Niestandardowe sieci bridge i wykrywanie usług to bezpłatna lekcja Docker & DevOps Fundamentals na CoddyKit. To lekcja 4 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 Docker & DevOps Fundamentals, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Docker & DevOps Fundamentals zawiera 4 lekcji w sumie.
Dlaczego własna sieć?
Domyślna sieć bridge działa, ale kontenery w tej sieci mogą komunikować się ze sobą tylko za pomocą adresów IP. Sieć mostkowa zdefiniowana przez użytkownika dodaje automatyczne wykrywanie usług oparte na DNS, dzięki czemu kontenery mogą docierać do siebie po nazwie.
- lepsza izolacja między grupami aplikacji,
- wbudowane rozpoznawanie nazw,
- możliwość dołączania i odłączania kontenerów w dowolnym momencie.
Wyświetlanie istniejących sieci
Docker jest dostarczany z trzema domyślnymi sieciami. Przed utworzeniem własnej sprawdź je za pomocą docker network ls.
docker network lsTworzenie sieci mostkowej
Użyj polecenia docker network create. Bez flagi sterownika Docker domyślnie używa sterownika bridge, idealnego dla kontenerów działających na jednym hoście.
docker network create app-netSprawdzanie sieci
docker network inspect wyświetla podsieć, bramę i wszystkie dołączone kontenery w formacie JSON. Jest to przydatne podczas debugowania zakresów adresów IP.
docker network inspect app-netUruchamianie kontenerów w tej sieci
Dołącz kontener już podczas uruchamiania za pomocą --network. W tym przykładzie uruchamiamy kontener Redis, który inne kontenery będą znajdować po nazwie.
docker run -d --name cache --network app-net redis:7Wykrywanie na podstawie nazwy
W sieci zdefiniowanej przez użytkownika nazwa kontenera jest rozpoznawana przez DNS Dockera. Aplikacja może po prostu połączyć się z hostem cache na porcie 6379, zamiast wyszukiwać adres IP.
docker run -it --network app-net alpine ping -c 2 cacheAliasy sieciowe
Nadaj kontenerowi dodatkową nazwę DNS za pomocą --network-alias. Jest to przydatne, gdy kilka kontenerów odpowiada pod jedną logiczną nazwą za mechanizmem round-robin.
docker run -d --network app-net --network-alias db postgres:16Dołączanie działającego kontenera
Nie musisz podejmować wszystkich decyzji podczas uruchamiania. Polecenie docker network connect dołącza już działający kontener do innej sieci.
docker network connect app-net webOdłączanie od sieci
Analogicznie polecenie docker network disconnect usuwa kontener z sieci bez zatrzymywania go.
docker network disconnect app-net webUdostępnianie a publikowanie
Kontenery w tej samej niestandardowej sieci mogą swobodnie komunikować się na dowolnych portach. Aby uzyskać dostęp do usługi z poziomu hosta, opublikuj port za pomocą -p hostPort:containerPort.
docker run -d --network app-net -p 8080:80 nginxCzyszczenie sieci
Usuń nieużywaną sieć za pomocą docker network rm albo jednocześnie wyczyść wszystkie nieużywane sieci. Sieci z dołączonymi kontenerami nie można usunąć, dopóki te kontenery nie zostaną usunięte.
docker network prune -fSzybki sprawdzian
Sprawdź swoją wiedzę na temat wykrywania usług.
Podsumowanie
Nauczyłeś się tworzyć niestandardowe sieci mostkowe i zarządzać nimi:
docker network createtworzy izolowaną sieć z obsługą DNS,- kontenery docierają do siebie po nazwie lub za pomocą
--network-alias, - polecenia
connect/disconnectpozwalają dołączać kontenery i odłączać je w dowolnym momencie, - porty publikuje się za pomocą
-p, a nieużywane sieci można czyścić.
Wykrywanie usług po nazwie jest podstawą, na której Compose automatycznie buduje swoje działanie.
Często zadawane pytania
Czy lekcja „Niestandardowe sieci bridge i wykrywanie usług” jest bezpłatna?
Tak — pełny tekst „Niestandardowe sieci bridge i wykrywanie usług” 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 Docker & DevOps Fundamentals, przejdź na CoddyKit PRO. Kurs Docker & DevOps Fundamentals zawiera 4 lekcji w sumie.
Co nauczysz się w „Niestandardowe sieci bridge i wykrywanie usług”?
Utwórz zdefiniowane przez użytkownika sieci bridge, aby kontenery mogły znajdować się nawzajem i komunikować się po nazwie, oraz poznaj działanie wykrywania usług opartego na DNS w Dockerze. Ćwiczysz Docker & DevOps Fundamentals 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ąć Docker & DevOps Fundamentals?
Nie wymagamy żadnego doświadczenia. Docker & DevOps Fundamentals 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 4 z 4.
Ile czasu zajmuje lekcja „Niestandardowe sieci bridge i wykrywanie usług”?
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 Docker & DevOps Fundamentals?
Tak. Każda lekcja Docker & DevOps Fundamentals 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
- Podstawy sieci kontenerów
- Wolumeny Docker do przechowywania danych
- Montowania bind i tmpfs
- Niestandardowe sieci bridge i wykrywanie usług