Tempo di lettura stimato: 4 minuti
Il tipo di rete utilizzata da un contenitore, che si tratti di un bridge, di un overlay, di una rete macvlan o di una rete personalizzata, è trasparente all’interno del contenitore. Dal punto di vista del contenitore, ha un’interfaccia di rete con un indirizzo IP, un gateway,una tabella di routing, servizi DNS e altri dettagli di rete (supponendo che il contenitore non utilizzi il driver di rete none
). Questo argomento riguarda le preoccupazioni di networking dalpunto di vista del contenitore.,
Porte pubblicate
Per impostazione predefinita, quando si crea o si esegue un contenitore utilizzandodocker create
odocker run
,non pubblica nessuna delle sue porte al mondo esterno. Per rendere disponibile una porta ai servizi al di fuori di Docker o ai contenitori Docker che non sono connessi alla rete del contenitore, utilizzare il flag --publish
o -p
. Questo crea un firewallrule che associa una porta container a una porta sull’host Docker al mondo esterno.Ecco alcuni esempi.,
valore di Flag | Descrizione |
---|---|
-p 8080:80 |
Mappa la porta TCP 80 nel contenitore sulla porta 8080 sul Mobile host. |
-p 192.168.1.100:8080:80 |
Mappa la porta TCP 80 nel contenitore alla porta 8080 sull’host Docker per le connessioni all’host IP 192.168.1.100. |
-p 8080:80/udp |
Mappa la porta UDP 80 nel contenitore alla porta 8080 sull’host Docker., |
-p 8080:80/tcp -p 8080:80/udp |
Mappa la porta TCP 80 nel contenitore alla porta TCP 8080 sull’host Docker e mappa la porta UDP 80 nel contenitore alla porta UDP 8080 sull’host Docker. |
Indirizzo IP e nome host
Per impostazione predefinita, al contenitore viene assegnato un indirizzo IP per ogni rete Docker a cui si connette. L’indirizzo IP viene assegnato dal pool assegnato ala rete, quindi il demone Docker agisce efficacemente come un server DHCP per ciascun contenitore. Ogni rete ha anche una subnet mask e un gateway predefiniti.,
Quando il contenitore viene avviato, può essere collegato solo a una singola rete, utilizzando--network
. Tuttavia, è possibile collegare un contenitore in esecuzione a multiplenetworks utilizzando docker network connect
. Quando si avvia un contenitore utilizzando il flag--network
, è possibile specificare l’indirizzo IP assegnato al contenitore su quella rete utilizzando i flag--ip
o--ip6
.,
Quando si collega un contenitore esistente a una rete diversa utilizzandodocker network connect
, è possibile utilizzare i flag --ip
o --ip6
su thatcommand per specificare l’indirizzo IP del contenitore sulla rete aggiuntiva.
Allo stesso modo, il nome host di un contenitore è predefinito come inDocker ID del contenitore. È possibile sovrascrivere il nome host utilizzando --hostname
., Quando ci si connette a una rete esistente utilizzando docker network connect
, è possibile utilizzare il flag --alias
per specificare un alias di rete aggiuntivo per il contenitore su tale rete.
Servizi DNS
Per impostazione predefinita, un contenitore eredita le impostazioni DNS dell’host, come definito nel file di configurazione/etc/resolv.conf
. I contenitori che utilizzano la rete bridge
predefinita ottengono una copia di questo file, mentre i contenitori che utilizzano il server DNS incorporato di acustom networkuse Docker, che inoltra le ricerche DNS esterne ai DNSSERVER configurati sull’host.,
Gli host personalizzati definiti in /etc/hosts
non sono ereditati. Per passare host aggiuntivi nel contenitore, fare riferimento a aggiungi voci al file host container nella documentazione di riferimentodocker run
. È possibile sovrascrivere queste impostazioni on base per contenitore.
Flag | Descrizione |
---|---|
--dns |
L’indirizzo IP di un server DNS., Per specificare più server DNS, utilizzare più flag--dns . Se il contenitore non può raggiungere nessuno degli indirizzi IP specificati, viene aggiunto il server DNS pubblico di Google 8.8.8.8 , in modo che il contenitore possa risolvere i domini Internet. |
--dns-search |
Un dominio di ricerca DNS per cercare nomi host non completamente qualificati. Per specificare più prefissi di ricerca DNS, utilizzare più flag--dns-search . |
--dns-opt |
Una coppia chiave-valore che rappresenta un’opzione DNS e il suo valore., Vedere la documentazione del sistema operativo perresolv.conf per opzioni valide. |
--hostname |
Il nome host che un contenitore usa per se stesso. Il valore predefinito è l’ID del contenitore se non specificato. |
Server proxy
Se il tuo contenitore deve utilizzare un server proxy, vedi Usa un server proxy.
rete, contenitore, standalone
Leave a Reply