Qual è il `docker0` lì?

Sep 18 2020

Ho letto il documento sulla dockermodalità di rete.

ci sono docker0e eth1su Host.

Ho una domanda al riguardo: che cos'è docker0? è un'interfaccia o un bridge? se è un'interfaccia, dovrebbe avere un indirizzo IP con cui comunicare 172.17.0.2, giusto?

Risposte

1 VonC Sep 18 2020 at 11:32

Puoi vedere ad esempio docker0 descritto in questo articolo :

Il bridge docker0 è un'interfaccia virtuale creata da docker, sceglie casualmente un indirizzo e una sottorete dall'intervallo privato definito da RFC 1918 che non sono in uso sulla macchina host e lo assegna a docker0.

Tutti i container docker saranno collegati al bridge docker0 per impostazione predefinita, i container docker collegati al docker0bridge potrebbero utilizzare le regole NAT di iptables create da docker per comunicare con il mondo esterno.

Per impostazione predefinita Docker collegherà tutti i contenitori al bridge docker0, quindi non è necessario specificare alcun flag aggiuntivo con il comando docker run per connettere i contenitori docker al docker0bridge, a meno che il DOCKER_OPTSfile di configurazione in docker non specifichi esplicitamente di utilizzare l'altra rete rispetto a docker0bridge , in questo caso puoi usare il –net=bridgecomando docker run per connettere i container al docker0bridge.

Vedi anche " Qual è la relazione tra docker0e eth0? "