geschatte leestijd: 4 minuten
het type netwerk dat een container gebruikt, of het nu een bridge, anoverlay, een macvlan-netwerk of een aangepast networkplugin is, is transparant vanuit de container. Vanuit het oogpunt van de container heeft het een netwerkinterface met een IP-adres, een gateway, een routeringstabel, DNS-services en andere netwerkdetails (aangenomen dat de container geen gebruik maakt van de none
netwerkstuurprogramma). Dit onderwerp gaat over netwerkproblemen vanuit het oogpunt van de container.,
gepubliceerde poorten
wanneer u een container maakt of uitvoert met docker create
of docker run
, publiceert deze standaard geen van zijn poorten naar de buitenwereld. Gebruik de vlag --publish
of -p
om een poort beschikbaar te maken voor diensten buiten Docker, of voor Docker containers die niet zijn aangesloten op het netwerk van de container. Dit creëert een firewallrule die een containerpoort koppelt aan een poort op de Docker-host aan de buitenwereld.Hier zijn enkele voorbeelden.,
Flag value | Description |
---|---|
-p 8080:80 |
kaart tcp poort 80 in de container naar poort 8080 op de Docker host. |
-p 192.168.1.100:8080:80 |
tcp-poort 80 in de container toewijzen aan poort 8080 op de Docker-host voor verbindingen met host IP 192.168.1.100. |
-p 8080:80/udp |
wijs UDP-poort 80 in de container aan poort 8080 op de Docker-host., |
-p 8080:80/tcp -p 8080:80/udp |
tcp-poort 80 in de container toewijzen aan tcp-poort 8080 op de Docker-host, en UDP-poort 80 in de container toewijzen aan UDP-poort 8080 op de Docker-host. |
IP-adres en hostnaam
standaard wordt aan de container een IP-adres toegewezen voor elk Docker-netwerk waarmee het verbonden is. Het IP-adres wordt toegewezen vanuit de pool die aan het netwerk is toegewezen, zodat de Docker-daemon effectief fungeert als een DHCP-server voor elke container. Elk netwerk heeft ook een standaard subnetmasker en gateway.,
wanneer de container wordt gestart, kan deze alleen worden verbonden met een enkel netwerk, met--network
. U kunt echter een draaiende container verbinden met meerdere netwerken met docker network connect
. Wanneer u een container start met de--network
vlag, kunt u het IP-adres opgeven dat is toegewezen aan de container op dat netwerk met behulp van de --ip
of --ip6
vlaggen.,
wanneer u een bestaande container met een ander netwerk verbindt metdocker network connect
, kunt u de --ip
of --ip6
vlaggen op dat commando gebruiken om het IP-adres van de container op het extra netwerk op te geven.
op dezelfde manier is de hostnaam van een container standaard de ID inDocker van de container. U kunt de hostnaam overschrijven met --hostname
., Wanneer u verbinding maakt met een bestaand netwerk met docker network connect
, kunt u de vlag --alias
gebruiken om een extra netwerkalias voor de container op dat netwerk op te geven.
DNS-services
standaard erft een container de DNS-instellingen van de host, zoals gedefinieerd in het/etc/resolv.conf
configuratiebestand. Containers die de standaard bridge
netwerk gebruiken, krijgen een kopie van dit bestand, terwijl containers die gebruik maken van een aangepast netwerk de ingebedde DNS-server van Docker gebruiken, die externe DNS-lookups doorstuurt naar de DNSservers die op de host zijn geconfigureerd.,
aangepaste hosts gedefinieerd in /etc/hosts
worden niet overgenomen. Om extra hosts in uw container door te geven, refereer je naar items toevoegen aan container hosts bestandin de docker run
referentie documentatie. U kunt deze instellingen overschrijven op basis van een container.
vlag | Description |
---|---|
--dns |
het IP-adres van een DNS-server., Om meerdere DNS-servers op te geven, gebruikt u meerdere --dns vlaggen. Als de container geen van de door u opgegeven IP-adressen kan bereiken, wordt de openbare DNS-server van Google 8.8.8.8 toegevoegd, zodat uw container internetdomeinen kan oplossen. |
--dns-search |
een DNS-zoekdomein om niet-volledig gekwalificeerde hostnamen te doorzoeken. Om meerdere DNS-zoekvoorvoegsels op te geven, gebruikt u meerdere --dns-search vlaggen. |
--dns-opt |
een sleutelwaardepaar dat een DNS-optie en zijn waarde vertegenwoordigt., Zie de documentatie van uw besturingssysteem voor resolv.conf voor geldige opties. |
--hostname |
de hostnaam die een container voor zichzelf gebruikt. Standaard is het ID van de container indien niet opgegeven. |
proxyserver
als uw container een proxyserver moet gebruiken, zie een proxyserver gebruiken.
networking, container, standalone
Leave a Reply