szacowany czas odczytu: 4 minuty
typ sieci, której używa kontener, czy to bridge, anoverlay, sieć macvlan, czy niestandardowe networkplugin, jest przezroczysty z wnętrza kontenera. Z punktu widzenia kontenera ma on interfejs sieciowy z adresem IP, bramą, tabelą routingu, usługami DNS i innymi szczegółami sieciowymi(zakładając, że kontener nie używa sterownika sieciowego none
). Ten temat dotyczy problemów sieciowych z punktu widzenia kontenera.,
Opublikowane porty
domyślnie, gdy tworzysz lub uruchamiasz kontener przy użyciudocker create
lubdocker run
,kontener nie publikuje żadnego ze swoich portów w świecie zewnętrznym. Aby port był dostępny dla usług poza Dockerem lub dla kontenerów Dockera, które nie są podłączone do sieci kontenera, należy użyć flagi --publish
lub -p
. Tworzy to firewallrule, który mapuje port kontenerowy do portu na hoście Docker do świata zewnętrznego.Oto kilka przykładów.,
wartość flagi | opis |
---|---|
-p 8080:80 |
mapuje port TCP 80 w kontenerze na port 8080 na hostie Docker. |
-p 192.168.1.100:8080:80 |
mapuje port TCP 80 w kontenerze na port 8080 na Hostie Docker dla połączeń z IP hosta 192.168.1.100. |
-p 8080:80/udp |
mapuje port UDP 80 w kontenerze na port 8080 na Hostie dokera., |
-p 8080:80/tcp -p 8080:80/udp |
Mapuj port TCP 80 w kontenerze na port tcp 8080 na hoście Dockera i Mapuj port UDP 80 w kontenerze na port UDP 8080 na hoście Docker. |
adres IP i nazwa hosta
domyślnie kontener ma przypisany adres IP dla każdej sieci dokującej, do której się łączy. Adres IP jest przypisany z puli przypisanej do sieci, więc Demon Docker skutecznie działa jako serwer DHCP dla każdego kontenera. Każda sieć ma również domyślną maskę podsieci i bramę.,
Po uruchomieniu kontenera można go podłączyć tylko do jednej sieci, używając--network
. Można jednak podłączyć uruchomiony kontener do multiplenetworks za pomocą docker network connect
. Gdy uruchamiasz kontener używając flagi--network
, możesz określić adres IP przypisany do kontenera w tej sieci, używając flagi --ip
lub --ip6
.,
Po podłączeniu istniejącego kontenera do innej sieci za pomocądocker network connect
, możesz użyć znaczników--ip
lub--ip6
w tym poleceniu, aby określić adres IP kontenera w dodatkowej sieci.
w ten sam sposób domyślną nazwą hosta kontenera jest inDocker ID kontenera. Możesz nadpisać nazwę hosta używając --hostname
., Podczas łączenia się z istniejącą siecią za pomocą znacznika docker network connect
można użyć znacznika --alias
, aby określić dodatkowy Alias sieci dla kontenera w tej sieci.
usługi DNS
domyślnie kontener dziedziczy ustawienia DNS hosta, zdefiniowane w pliku konfiguracyjnym/etc/resolv.conf
. Kontenery korzystające z domyślnej siecibridge
otrzymują kopię tego pliku, podczas gdy kontenery korzystające z acustom Network wykorzystują wbudowany serwer DNS Dockera, który przekazuje zewnętrzne wyszukiwanie DNS do Dnsserverów skonfigurowanych na hoście.,
niestandardowe hosty zdefiniowane w/etc/hosts
nie są dziedziczone. Aby przekazać dodatkowe hosty do kontenera, zapoznaj się z sekcją dodaj wpisy do pliku hostów kontenera w dokumentacji referencyjnej docker run
. Możesz nadpisać te ustawienia dla każdego kontenera.
Flaga | opis | |
---|---|---|
--dns |
adres IP serwera DNS., Aby określić wiele serwerów DNS, użyj wielu FLAG --dns . Jeśli kontener nie może dotrzeć do żadnego z podanych adresów IP, zostanie dodany publiczny serwer DNS Google 8.8.8.8 , aby kontener mógł rozwiązać domeny internetowe.
| |
--dns-search |
a DNS search domain to search non-fully-qualified hostnames. Aby określić wiele prefiksów wyszukiwania DNS, użyj wielu FLAG --dns-search . |
|
--dns-opt |
para klucz-wartość reprezentująca opcję DNS i jej wartość., Sprawdź dokumentację systemu operacyjnego dla resolv.conf dla poprawnych opcji. |
|
--hostname |
Nazwa hosta, którego kontener używa dla siebie. Domyślnie ID kontenera, jeśli nie został określony. |
serwer Proxy
jeśli kontener wymaga użycia serwera proxy, zobacz Używanie serwera proxy.
networking, container, standalone
Leave a Reply