‫W przypadku tego wykładu należy zrozumieć niektóre z wcześniejszych koncepcji dotyczących sieci, a
‫także tworzenia pojemników.
‫Teraz, gdy rozumiemy pojęcia sieci Docker i jak działają wszystkie elementy wirtualnej sieci
‫i IP, spójrzmy na niektóre opcje wiersza poleceń do zarządzania nim.
‫Po pierwsze, istnieje oczywista sieć ls. Ponieważ możemy tworzyć wiele sieci, z pewnością mamy polecenie
‫ls do ich listy.
‫Mamy zwykłe polecenie kontroli, do którego prawdopodobnie przywykliście już od wszystkich innych kontroli,
‫które robimy.
‫Pokaże nam szczegóły dotyczące konkretnej sieci.
‫Następnie mamy polecenie create, które ma opcjonalny sterownik, który możemy określić, aby używać wbudowanych
‫i innych sterowników do tworzenia nowej sieci wirtualnej.
‫Następnie mamy komendy connect i disconnect służące do zmiany aktywnego kontenera na żywo, dzięki czemu w sieci wirtualnej
‫dla tego kontenera tworzona jest nowa karta NIC.
‫To trochę jak przyklejenie karty sieciowej do komputera podczas pracy.
‫Więc zaczynamy.
‫Wróćmy do mojej linii poleceń. Korzystając z pojęć, których właśnie się nauczyliśmy, mogę
‫faktycznie zrobić sieć dokerów. To pokazuje mi wszystkie utworzone sieci. W takim przypadku, gdy uruchomisz to
‫samo polecenie, prawdopodobnie zobaczysz te same trzy. W zależności od systemu
‫operacyjnego i wersji Docker, możesz zobaczyć sieć mostów o nazwie docker0 lub bridge,
‫ale oba mają na myśli to samo. To jest domyślna sieć, która łączy firewall NAT z fizyczną siecią,
‫do której jest podłączony twój host. Do tej pory nie musieliśmy się o to
‫martwić, ponieważ wszystkie nasze kontenery właśnie zostały podłączone do tej sieci i działały.
‫Po uruchomieniu tego kontenera Nginx, jeśli wykonam inspekcję sieci dokerów, sieć mostów, zobaczysz, że zawiera ona listę
‫kontenerów podłączonych do tej sieci. Zobaczysz, że nasz plik Nginx,
‫który nazwaliśmy webhostem, jest tam dołączony.
‫Możesz zobaczyć jego adres IP. Zobaczysz tutaj, że te sieci automatycznie przypisują adresy
‫IP i pokazuje tutaj konfigurację IPAM, w której domyślna podsieć to 172. 17, który jest zwykle
‫domyślną siecią dla dowolnego hosta Docker.
‫Ale można go zmienić, a następnie bramę dla tej sieci, która ostatecznie wyruszy do
‫fizycznej sieci.
‫Jeśli wróciliśmy do sieci dokerów, możemy zobaczyć te dwie pozostałe sieci. O tym, o czym
‫rozmawialiśmy, mówi sieć hostów, która jest specjalną siecią, która pomija wirtualną sieć Docker i
‫dołącza kontener bezpośrednio do interfejsu hosta.
‫Jak można sobie wyobrazić, są w tym zalety i wady, ponieważ chroni
‫ona granice bezpieczeństwa kontenera przed interfejsem tego kontenera.
‫Ale w pewnych sytuacjach może również poprawić wydajność sieci o wysokiej przepustowości i rozwiązać
‫kilka innych problemów związanych z konkretnym specjalnym oprogramowaniem.
‫Następnie mamy ostatnią z nich, która jest odpowiednikiem interfejsu na twoim komputerze,
‫który nie jest do niczego podłączony, ale możemy stworzyć własny.
‫Stwórzmy sieć Docker ... utwórz my_app_net.
‫Teraz
‫znowu zrobimy sieć dokerów. Zauważysz, że stworzyła moją nową wirtualną sieć z kierowcą mostu.
‫A to dlatego, że jest to domyślny sterownik.
‫Jest to prosty sterownik, który po prostu tworzy lokalną sieć wirtualną z
‫własną podsiecią około 172. 17 i wyżej, ponieważ będzie się zwiększać, jak to się dzieje. Tak więc 17, potem 18, 19, 20 i tak dalej.
‫Nie ma żadnych zaawansowanych funkcji, które możemy zobaczyć w dalszej
‫części tego kursu, takich jak nakładane sieci, które umożliwiają prywatną sieć między hostami i inne sterowniki innych firm, takie jak Weave.
‫Jeśli spojrzysz na sieć dokerów, utwórz komendę za pomocą pomocy, zobaczysz, że mogę określić nie tylko sterownik, którego
‫chcę używać, ale także wiele IP i opcji sieciowych, które mogą być
‫ci potrzebne w zaawansowanym scenariuszu.
‫Z tymi sieciami możemy zrobić kilka rzeczy i połączyć je z naszymi kontenerami.
‫Możemy użyć opcji --network podczas tworzenia kontenera.
‫Tak więc, kontener dokera uruchamia nazwę
‫nowego nginx, a następnie sieć, a następnie moją sieć aplikacji,
‫a następnie obraz nginx.
‫Jeśli zrobimy inspekcję sieci stacji dokującej w mojej sieci aplikacji, zobaczysz, że nowy Nginx, który właśnie utworzyłem, jest teraz
‫w tej sieci. Ma nowy adres IP 172. 18.
‫Jest to następna podsieć na liście.
‫Ale tak naprawdę nie musimy uruchamiać nowych kontenerów, ponieważ podobnie jak w świecie
‫rzeczywistym, w którym można odłączyć i ponownie podłączyć urządzenia Ethernet i ponownie połączyć się z sieciami bezprzewodowymi, można to
‫samo zrobić z istniejącymi sieciami i istniejącymi kontenerami.
‫W tym celu korzystamy z opcji łączenia i rozłączania sieci dokowej i można użyć opcji --help, aby
‫wyświetlić wszystkie opcje dostępne w sieci Docker.
‫W tym przypadku chcemy zrobić to w sieci dokerów i chcemy pobrać istniejący kontener, który najpierw
‫stworzyliśmy i połączyć go z naszą nową siecią.
‫Wybieram nową sieć mojej aplikacji, a następnie wybieram pierwotny serwer, który stworzyliśmy.
‫Teraz, jeśli zrobię kontener dokera z inspekcją mojego oryginalnego hosta, zobaczysz, że jest on teraz
‫w dwóch sieciach. Oryginalna sieć mostów, i
‫zasadniczo zrobiłem odpowiednik nadania jej nowego interfejsu Ethernet w innej sieci, z innym adresem
‫IP, który został odebrany z DHCP.
‫Więc jesteśmy teraz w 17 sieci w 18 sieci.
‫Gdybym chciał to odłączyć, mógłbym zrobić to samo z samym rozłączeniem. Potem, gdy wrócę i ponownie sprawdzę, zobaczysz,
‫że jest już z powrotem tylko z jedną siecią.
‫Jak widać, istnieje wiele interesujących opcji dla sieci Docker i naprawdę cel końcowy tutaj, a jedną rzecz, którą uwielbiam chwalić
‫się z kontenerami, jest to, że jeśli uruchamiasz wszystkie aplikacje na jednym serwerze, w tym przypadku
‫, jesteś w stanie naprawdę je chronić. Ponieważ w świecie fizycznym, w
‫którym tworzyliśmy maszyny wirtualne i hosty w sieci, często prześwietlaliśmy porty i sieci na
‫naszych serwerach aplikacji.
‫W takich przypadkach, gdybyś wziął swoje kontenery aplikacji i miał je
‫wszystkie w jednej sieci razem w sieci wirtualnej, wystawisz tylko porty na twoim
‫hoście, które specjalnie używasz -p z. A wszystko inne jest trochę bezpieczniejsze dzięki tej chronionej zaporze ogniowej
‫w ich wirtualnej sieci.
‫Później, kiedy wejdziemy do Docker Swarm, dowiemy się o sieciach
‫wielu hostów i o tym, jak będzie jeszcze lepiej, kiedy zaczniemy skalować i skalować.
‫Podsumowując, omówiliśmy tylko kilka poleceń dotyczących zarządzania sieciami Docker.
‫Bawiliśmy się poleceniami ls i inspect, stworzyliśmy sieć Docker i użyliśmy domyślnego sterownika
‫mostu.
‫W rzeczywistości nie potrzebowaliśmy używać --driver.
‫I wreszcie, wypróbowaliśmy połączenie sieciowe i rozłączyliśmy sieciowe polecenia w celu dodania, a następnie usunięcia karty
‫NIC z uruchomionego kontenera.