¿Qué es el `docker0` allí?

Sep 18 2020

Leí un documento sobre el dockermodo de red.

allí se muestran docker0y eth1en el Host.

Tengo una pregunta al respecto: ¿qué es docker0? ¿Es una interfaz o un puente? si es una interfaz, debe tener una dirección IP con la que pueda comunicarse 172.17.0.2, ¿verdad?

Respuestas

1 VonC Sep 18 2020 at 11:32

Puede ver, por ejemplo, docker0 descrito en este artículo :

El puente docker0 es una interfaz virtual creada por docker, elige aleatoriamente una dirección y una subred del rango privado definido por RFC 1918 que no están en uso en la máquina host, y se las asigna docker0.

Todos los contenedores de la ventana acoplable estarán conectados al puente de la ventana acoplable de forma predeterminada, los contenedores de la ventana acoplable conectados al docker0puente podrían usar las reglas NAT de iptables creadas por la ventana acoplable para comunicarse con el mundo exterior.

De forma predeterminada, Docker adjuntará todos los contenedores al puente docker0, por lo que no es necesario especificar ningún indicador adicional con el comando docker run para conectar los contenedores de la ventana acoplable al docker0puente, a menos que el DOCKER_OPTSarchivo de configuración de la ventana acoplable especifique explícitamente usar la otra red que no sea el docker0puente. , en este caso, puede usar el –net=bridgecomando docker run para conectar los contenedores al docker0puente.

Consulte también " ¿Cuál es la relación entre docker0y eth0? "